Zelda Classic Coverage Report


Directory: src/
File: src/subscr.cpp
Date: 2022-12-09 00:28:07
Exec Total Coverage
Lines: 1033 2051 50.4%
Functions: 37 51 72.5%
Branches: 724 1888 38.3%

Line Branch Exec Source
1 //--------------------------------------------------------
2 // Zelda Classic
3 // by Jeremy Craner, 1999-2000
4 //
5 // subscr.cc
6 //
7 // Subscreen code for zelda.cc
8 //
9 //--------------------------------------------------------
10
11 #include "precompiled.h" //always first
12
13 #include "subscr.h"
14 #include "base/zapp.h"
15 #include "zelda.h"
16 9 #include "tiles.h"
17 #include "base/zsys.h"
18 #include "guys.h"
19 #include "hero.h"
20 #include "gamedata.h"
21 #include "items.h"
22 #include <stdio.h>
23 #include <string.h>
24 #include "ffscript.h"
25
26 bool show_subscreen_dmap_dots=true;
27 bool show_subscreen_numbers=true;
28 bool show_subscreen_items=true;
29 bool show_subscreen_life=true;
30 bool new_sel=false;
31
32 extern sprite_list guys, items, Ewpns, Lwpns, Sitems, chainlinks, decorations;
33 extern HeroClass Hero;
34 extern FFScript FFCore;
35
36 subscreen_group *current_subscreen_active;
37 subscreen_group *current_subscreen_passive;
38
39 subscreen_group custom_subscreen[MAXCUSTOMSUBSCREENS];
40
41 static const int32_t notscrolling = sspUP | sspDOWN;
42 static const int32_t pos = notscrolling | sspSCROLLING;
43
44 subscreen_object z3_active_a[80]=
45 {
46 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
47 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
48 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
49 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
50 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
51 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
52 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
53 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
54 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
55 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
56 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
57 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
58 { ssoCURRENTITEM, pos, 176, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_sword, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
59 { ssoCURRENTITEM, pos, 200, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
60 { ssoCURRENTITEM, pos, 224, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
61 { ssoCURRENTITEM, pos, 200, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
62 { ssoCURRENTITEM, pos, 28, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
63 { ssoCURRENTITEM, pos, 52, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
64 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
65 { ssoCURRENTITEM, pos, 100, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
66 { ssoCURRENTITEM, pos, 124, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
67 { ssoCURRENTITEM, pos, 28, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
68 { ssoCURRENTITEM, pos, 52, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
69 { ssoCURRENTITEM, pos, 76, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
70 { ssoCURRENTITEM, pos, 100, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
71 { ssoCURRENTITEM, pos, 124, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_quiver, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
72 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
73 { ssoCURRENTITEM, pos, 32, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bowandarrow, 1, 0, 10, 5, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
74 { ssoCOUNTER, pos, 44, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
75 { ssoCURRENTITEM, pos, 56, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 1, 11, 6, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
76 { ssoCURRENTITEM, pos, 80, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 2, 12, 7, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
77 { ssoCURRENTITEM, pos, 104, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 3, 13, 8, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
78 { ssoCOUNTER, pos, 116, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
79 { ssoCURRENTITEM, pos, 128, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 4, 14, 9, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
80 { ssoCURRENTITEM, pos, 32, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 5, 0, 10, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
81 { ssoCURRENTITEM, pos, 56, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 6, 1, 11, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
82 { ssoCOUNTER, pos, 68, 50, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
83 { ssoCURRENTITEM, pos, 80, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_dinsfire, 1, 7, 2, 12, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
84 { ssoCURRENTITEM, pos, 104, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_nayruslove, 1, 8, 3, 13, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
85 { ssoCURRENTITEM, pos, 128, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_faroreswind, 1, 9, 4, 14, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
86 { ssoCURRENTITEM, pos, 32, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 10, 5, 0, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
87 { ssoCURRENTITEM, pos, 56, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 6, 1, 10, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
88 { ssoCURRENTITEM, pos, 80, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 12, 7, 2, 11, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
89 { ssoCURRENTITEM, pos, 104, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 13, 8, 3, 12, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
90 { ssoCURRENTITEM, pos, 128, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 14, 9, 4, 13, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
91 { ssoLINE, pos, 177, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
92 { ssoLINE, pos, 181, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
93 { ssoLINE, pos, 185, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
94 { ssoLINE, pos, 189, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
95 { ssoLINE, pos, 193, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
96 { ssoLINE, pos, 197, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
97 { ssoLINE, pos, 201, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
98 { ssoLINE, pos, 205, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
99 { ssoLINE, pos, 209, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
100 { ssoLINE, pos, 213, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
101 { ssoLINE, pos, 217, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
102 { ssoLINE, pos, 221, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
103 { ssoLINE, pos, 225, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
104 { ssoLINE, pos, 229, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
105 { ssoLINE, pos, 233, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
106 { ssoLINE, pos, 237, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
107 { ssoBUTTONITEM, pos, 200, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
108 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
109 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
110 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
111 { ssoSELECTEDITEMNAME, pos, 173, 24, 70, 16, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfPROP, sstaCENTER, sstsSHADOWED, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
112 { ssoRECT, pos, 24, 1, 16, 6, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
113 { ssoTEXT, pos, 24, 1, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"ITEM" },
114 { ssoTEXT, pos, 17, 105, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"INVENTORY" },
115 { ssoTEXT, pos, 177, 57, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"TRIFORCE" },
116 { ssoTEXT, pos, 177, 113, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"EQUIPMENT" },
117 { ssoTRIFORCE, pos, 192, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
118 { ssoTRIFORCE, pos, 208, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
119 { ssoTRIFORCE, pos, 176, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
120 { ssoTRIFORCE, pos, 224, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
121 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 2, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
122 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
123 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 3, 1, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
124 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
125 { ssoTILEBLOCK, pos, 16, 8, 1, 1, 1, 0, 0, 0, 0, 0, 28201, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
126 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
127 };
128 subscreen_object z3_active_ab[82]=
129 {
130 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
131 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
132 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
133 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
134 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
135 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
136 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
137 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
138 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
139 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
140 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
141 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
142 { ssoCURRENTITEM, pos, 176, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_sword, 1, 15, 14, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
143 { ssoCURRENTITEM, pos, 200, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
144 { ssoCURRENTITEM, pos, 224, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
145 { ssoCURRENTITEM, pos, 200, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
146 { ssoCURRENTITEM, pos, 28, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
147 { ssoCURRENTITEM, pos, 52, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
148 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
149 { ssoCURRENTITEM, pos, 100, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
150 { ssoCURRENTITEM, pos, 124, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
151 { ssoCURRENTITEM, pos, 28, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
152 { ssoCURRENTITEM, pos, 52, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
153 { ssoCURRENTITEM, pos, 76, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
154 { ssoCURRENTITEM, pos, 100, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
155 { ssoCURRENTITEM, pos, 124, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_quiver, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
156 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
157 { ssoCURRENTITEM, pos, 32, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bowandarrow, 1, 0, 10, 5, 15, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
158 { ssoCOUNTER, pos, 44, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
159 { ssoCURRENTITEM, pos, 56, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 1, 11, 6, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
160 { ssoCURRENTITEM, pos, 80, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 2, 12, 7, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
161 { ssoCURRENTITEM, pos, 104, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 3, 13, 8, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
162 { ssoCOUNTER, pos, 116, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
163 { ssoCURRENTITEM, pos, 128, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 4, 14, 9, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
164 { ssoCURRENTITEM, pos, 32, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 5, 0, 10, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
165 { ssoCURRENTITEM, pos, 56, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 6, 1, 11, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
166 { ssoCOUNTER, pos, 68, 50, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
167 { ssoCURRENTITEM, pos, 80, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_dinsfire, 1, 7, 2, 12, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
168 { ssoCURRENTITEM, pos, 104, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_nayruslove, 1, 8, 3, 13, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
169 { ssoCURRENTITEM, pos, 128, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_faroreswind, 1, 9, 4, 14, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
170 { ssoCURRENTITEM, pos, 32, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 10, 5, 0, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
171 { ssoCURRENTITEM, pos, 56, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 6, 1, 10, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
172 { ssoCURRENTITEM, pos, 80, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 12, 7, 2, 11, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
173 { ssoCURRENTITEM, pos, 104, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 13, 8, 3, 12, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
174 { ssoCURRENTITEM, pos, 128, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 14, 9, 4, 13, 15, 0, 0, 0, 0, 0, 0, 0, NULL },
175 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
176 { ssoLINE, pos, 177, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
177 { ssoLINE, pos, 181, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
178 { ssoLINE, pos, 185, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
179 { ssoLINE, pos, 189, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
180 { ssoLINE, pos, 193, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
181 { ssoLINE, pos, 197, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
182 { ssoLINE, pos, 201, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
183 { ssoLINE, pos, 205, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
184 { ssoLINE, pos, 209, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
185 { ssoLINE, pos, 213, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
186 { ssoLINE, pos, 217, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
187 { ssoLINE, pos, 221, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
188 { ssoLINE, pos, 225, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
189 { ssoLINE, pos, 229, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
190 { ssoLINE, pos, 233, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
191 { ssoLINE, pos, 237, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
192 { ssoBUTTONITEM, pos, 200, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
193 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
194 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
195 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
196 { ssoSELECTEDITEMNAME, pos, 173, 24, 70, 16, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfPROP, sstaCENTER, sstsSHADOWED, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
197 { ssoRECT, pos, 24, 1, 16, 6, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
198 { ssoTEXT, pos, 24, 1, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"ITEM" },
199 { ssoTILEBLOCK, pos, 16, 73, 1, 1, 1, 0, 0, 0, 0, 0, 28201, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
200 { ssoTEXT, pos, 17, 105, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"INVENTORY" },
201 { ssoTEXT, pos, 177, 57, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"TRIFORCE" },
202 { ssoTEXT, pos, 177, 113, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"EQUIPMENT" },
203 { ssoTRIFORCE, pos, 192, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
204 { ssoTRIFORCE, pos, 208, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
205 { ssoTRIFORCE, pos, 176, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
206 { ssoTRIFORCE, pos, 224, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
207 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 2, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
208 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
209 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 3, 1, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
210 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
211 { ssoTILEBLOCK, pos, 16, 8, 1, 1, 1, 0, 0, 0, 0, 0, 28200, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
212 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
213 };
214 subscreen_object z3_passive_a[66]=
215 {
216 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
217 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
218 { ssoMINITILE, pos, 74, 6, 0, 0, 5, 0, 0, 0, 0, 0, 101069, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
219 { ssoMINITILE, pos, 101, 6, 0, 0, 0, 0, 0, 0, 0, 0, 101369, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
220 { ssoMINITILE, pos, 126, 7, 0, 0, 1, 0, 0, 0, 0, 0, 101683, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
221 { ssoMINITILE, pos, 144, 6, 0, 0, 1, 0, 0, 0, 0, 0, 101212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
222 { ssoMAGICGAUGE, pos, 16, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
223 { ssoMAGICGAUGE, pos, 16, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
224 { ssoMAGICGAUGE, pos, 16, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
225 { ssoMAGICGAUGE, pos, 16, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
226 { ssoMAGICGAUGE, pos, 16, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
227 { ssoMAGICGAUGE, pos, 16, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
228 { ssoMAGICGAUGE, pos, 16, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
229 { ssoMAGICGAUGE, pos, 16, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
230 { ssoMAGICGAUGE, pos, 16, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
231 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100322, 100260, 100322, 100322, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
232 { ssoMAGICGAUGE, pos, 24, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
233 { ssoMAGICGAUGE, pos, 24, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
234 { ssoMAGICGAUGE, pos, 24, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
235 { ssoMAGICGAUGE, pos, 24, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
236 { ssoMAGICGAUGE, pos, 24, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
237 { ssoMAGICGAUGE, pos, 24, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
238 { ssoMAGICGAUGE, pos, 24, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
239 { ssoMAGICGAUGE, pos, 24, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
240 { ssoMAGICGAUGE, pos, 24, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
241 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100323, 100260, 100262, 100263, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
242 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100402, 100260, 100322, 100322, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
243 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100403, 100260, 100262, 100263, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
244 { sso2X2FRAME, pos, 32, 4, 4, 4, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
245 { ssoBUTTONITEM, pos, 40, 12, 16, 16, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
246 { ssoCOUNTER, pos, 52, 22, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
247 { ssoCOUNTER, pos, 52, 22, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
248 { ssoCOUNTER, pos, 52, 22, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
249 { ssoTEXT, pos, 200, 6, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"LIFE" },
250 { ssoRECT, pos, 178, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
251 { ssoLINE, pos, 179, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
252 { ssoRECT, pos, 210, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
253 { ssoLINE, pos, 211, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
254 { ssoLIFEGAUGE, pos, 169, 15, 8, 8, 1, 1, 1, 1, 0, 0, 1, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
255 { ssoLIFEGAUGE, pos, 177, 15, 8, 8, 1, 1, 1, 1, 0, 0, 2, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
256 { ssoLIFEGAUGE, pos, 185, 15, 8, 8, 1, 1, 1, 1, 0, 0, 3, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
257 { ssoLIFEGAUGE, pos, 193, 15, 8, 8, 1, 1, 1, 1, 0, 0, 4, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
258 { ssoLIFEGAUGE, pos, 201, 15, 8, 8, 1, 1, 1, 1, 0, 0, 5, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
259 { ssoLIFEGAUGE, pos, 209, 15, 8, 8, 1, 1, 1, 1, 0, 0, 6, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
260 { ssoLIFEGAUGE, pos, 217, 15, 8, 8, 1, 1, 1, 1, 0, 0, 7, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
261 { ssoLIFEGAUGE, pos, 225, 15, 8, 8, 1, 1, 1, 1, 0, 0, 8, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
262 { ssoLIFEGAUGE, pos, 169, 23, 8, 8, 1, 1, 1, 1, 0, 0, 9, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
263 { ssoLIFEGAUGE, pos, 177, 23, 8, 8, 1, 1, 1, 1, 0, 0, 10, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
264 { ssoLIFEGAUGE, pos, 185, 23, 8, 8, 1, 1, 1, 1, 0, 0, 11, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
265 { ssoLIFEGAUGE, pos, 193, 23, 8, 8, 1, 1, 1, 1, 0, 0, 12, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
266 { ssoLIFEGAUGE, pos, 201, 23, 8, 8, 1, 1, 1, 1, 0, 0, 13, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
267 { ssoLIFEGAUGE, pos, 209, 23, 8, 8, 1, 1, 1, 1, 0, 0, 14, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
268 { ssoLIFEGAUGE, pos, 217, 23, 8, 8, 1, 1, 1, 1, 0, 0, 15, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
269 { ssoLIFEGAUGE, pos, 225, 23, 8, 8, 1, 1, 1, 1, 0, 0, 16, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
270 { ssoLIFEGAUGE, pos, 169, 31, 8, 8, 1, 1, 1, 1, 0, 0, 17, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
271 { ssoLIFEGAUGE, pos, 177, 31, 8, 8, 1, 1, 1, 1, 0, 0, 18, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
272 { ssoLIFEGAUGE, pos, 185, 31, 8, 8, 1, 1, 1, 1, 0, 0, 19, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
273 { ssoLIFEGAUGE, pos, 193, 31, 8, 8, 1, 1, 1, 1, 0, 0, 20, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
274 { ssoLIFEGAUGE, pos, 201, 31, 8, 8, 1, 1, 1, 1, 0, 0, 21, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
275 { ssoLIFEGAUGE, pos, 209, 31, 8, 8, 1, 1, 1, 1, 0, 0, 22, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
276 { ssoLIFEGAUGE, pos, 217, 31, 8, 8, 1, 1, 1, 1, 0, 0, 23, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
277 { ssoLIFEGAUGE, pos, 225, 31, 8, 8, 1, 1, 1, 1, 0, 0, 24, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
278 { ssoCOUNTER, pos, 77, 15, 25, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 3, '~', 1, sscRUPEES, 0, 0, 0, 0, 0, 0, 0, NULL },
279 { ssoCOUNTER, pos, 105, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
280 { ssoCOUNTER, pos, 129, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
281 { ssoCOUNTER, pos, 148, 15, 9, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 1, '~', 1, sscGENKEYMAGIC, 0, 0, 0, 0, 0, 0, 0, NULL },
282 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
283 };
284 subscreen_object z3_passive_ab[75]=
285 {
286 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
287 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
288 { ssoMINITILE, pos, 80, 6, 0, 0, 5, 0, 0, 0, 0, 0, 101069, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
289 { ssoMINITILE, pos, 107, 6, 0, 0, 0, 0, 0, 0, 0, 0, 101369, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
290 { ssoMINITILE, pos, 132, 7, 0, 0, 1, 0, 0, 0, 0, 0, 101683, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
291 { ssoMINITILE, pos, 150, 6, 0, 0, 1, 0, 0, 0, 0, 0, 101212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
292 { ssoMAGICGAUGE, pos, 16, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
293 { ssoMAGICGAUGE, pos, 16, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
294 { ssoMAGICGAUGE, pos, 16, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
295 { ssoMAGICGAUGE, pos, 16, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
296 { ssoMAGICGAUGE, pos, 16, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
297 { ssoMAGICGAUGE, pos, 16, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
298 { ssoMAGICGAUGE, pos, 16, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
299 { ssoMAGICGAUGE, pos, 16, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
300 { ssoMAGICGAUGE, pos, 16, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
301 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100322, 100260, 100322, 100322, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
302 { ssoMAGICGAUGE, pos, 24, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
303 { ssoMAGICGAUGE, pos, 24, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
304 { ssoMAGICGAUGE, pos, 24, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
305 { ssoMAGICGAUGE, pos, 24, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
306 { ssoMAGICGAUGE, pos, 24, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
307 { ssoMAGICGAUGE, pos, 24, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
308 { ssoMAGICGAUGE, pos, 24, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
309 { ssoMAGICGAUGE, pos, 24, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
310 { ssoMAGICGAUGE, pos, 24, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
311 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100323, 100260, 100262, 100263, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
312 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100402, 100260, 100322, 100322, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
313 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100403, 100260, 100262, 100263, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
314 { sso2X2FRAME, pos, 32, 26, 4, 4, 8, 0, 0, 0, 0, 0, 20040, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
315 { sso2X2FRAME, pos, 32, 0, 4, 4, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
316 { ssoBUTTONITEM, pos, 40, 8, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
317 { ssoCOUNTER, pos, 52, 18, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
318 { ssoCOUNTER, pos, 52, 18, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
319 { ssoCOUNTER, pos, 52, 18, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
320 { ssoBUTTONITEM, pos, 40, 34, 16, 16, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
321 { ssoCOUNTER, pos, 52, 44, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
322 { ssoCOUNTER, pos, 52, 44, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
323 { ssoCOUNTER, pos, 52, 44, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
324 { ssoTEXT, pos, 200, 6, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"LIFE" },
325 { ssoRECT, pos, 178, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
326 { ssoLINE, pos, 179, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
327 { ssoRECT, pos, 210, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
328 { ssoLINE, pos, 211, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
329 { ssoLIFEGAUGE, pos, 169, 15, 8, 8, 1, 1, 1, 1, 0, 0, 1, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
330 { ssoLIFEGAUGE, pos, 177, 15, 8, 8, 1, 1, 1, 1, 0, 0, 2, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
331 { ssoLIFEGAUGE, pos, 185, 15, 8, 8, 1, 1, 1, 1, 0, 0, 3, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
332 { ssoLIFEGAUGE, pos, 193, 15, 8, 8, 1, 1, 1, 1, 0, 0, 4, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
333 { ssoLIFEGAUGE, pos, 201, 15, 8, 8, 1, 1, 1, 1, 0, 0, 5, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
334 { ssoLIFEGAUGE, pos, 209, 15, 8, 8, 1, 1, 1, 1, 0, 0, 6, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
335 { ssoLIFEGAUGE, pos, 217, 15, 8, 8, 1, 1, 1, 1, 0, 0, 7, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
336 { ssoLIFEGAUGE, pos, 225, 15, 8, 8, 1, 1, 1, 1, 0, 0, 8, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
337 { ssoLIFEGAUGE, pos, 169, 23, 8, 8, 1, 1, 1, 1, 0, 0, 9, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
338 { ssoLIFEGAUGE, pos, 177, 23, 8, 8, 1, 1, 1, 1, 0, 0, 10, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
339 { ssoLIFEGAUGE, pos, 185, 23, 8, 8, 1, 1, 1, 1, 0, 0, 11, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
340 { ssoLIFEGAUGE, pos, 193, 23, 8, 8, 1, 1, 1, 1, 0, 0, 12, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
341 { ssoLIFEGAUGE, pos, 201, 23, 8, 8, 1, 1, 1, 1, 0, 0, 13, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
342 { ssoLIFEGAUGE, pos, 209, 23, 8, 8, 1, 1, 1, 1, 0, 0, 14, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
343 { ssoLIFEGAUGE, pos, 217, 23, 8, 8, 1, 1, 1, 1, 0, 0, 15, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
344 { ssoLIFEGAUGE, pos, 225, 23, 8, 8, 1, 1, 1, 1, 0, 0, 16, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
345 { ssoLIFEGAUGE, pos, 169, 31, 8, 8, 1, 1, 1, 1, 0, 0, 17, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
346 { ssoLIFEGAUGE, pos, 177, 31, 8, 8, 1, 1, 1, 1, 0, 0, 18, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
347 { ssoLIFEGAUGE, pos, 185, 31, 8, 8, 1, 1, 1, 1, 0, 0, 19, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
348 { ssoLIFEGAUGE, pos, 193, 31, 8, 8, 1, 1, 1, 1, 0, 0, 20, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
349 { ssoLIFEGAUGE, pos, 201, 31, 8, 8, 1, 1, 1, 1, 0, 0, 21, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
350 { ssoLIFEGAUGE, pos, 209, 31, 8, 8, 1, 1, 1, 1, 0, 0, 22, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
351 { ssoLIFEGAUGE, pos, 217, 31, 8, 8, 1, 1, 1, 1, 0, 0, 23, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
352 { ssoLIFEGAUGE, pos, 225, 31, 8, 8, 1, 1, 1, 1, 0, 0, 24, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
353 { ssoCOUNTER, pos, 83, 15, 25, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 3, '~', 1, sscRUPEES, 0, 0, 0, 0, 0, 0, 0, NULL },
354 { ssoCOUNTER, pos, 111, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
355 { ssoCOUNTER, pos, 135, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
356 { ssoCOUNTER, pos, 154, 15, 9, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 1, '~', 1, sscGENKEYMAGIC, 0, 0, 0, 0, 0, 0, 0, NULL },
357 { ssoRECT, pos, 59, 11, 4, 10, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
358 { ssoRECT, pos, 59, 37, 4, 10, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
359 { ssoTEXT, pos, 61, 13, 8, 8, 0, 1, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"A" },
360 { ssoTEXT, pos, 61, 38, 8, 8, 0, 1, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"B" },
361 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
362 };
363
364 subscreen_object default_subscreen_active[ssdtMAX][2][66]=//[zinit.subscreen][dungeon]
365 {
366 {
367 //ssdtOLD
368 {
369 //ssdtOLD, overworld
370 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
371 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
372 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
373 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
374 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
375 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
376 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
377 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
378 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
379 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
380 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
381 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
382 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
383 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
384 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
385 { sso2X2FRAME, pos, 56, 34, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
386 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
387 { ssoTEXT, pos, 64, 66, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "USE B BUTTON" },
388 { ssoTEXT, pos, 64, 74, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "FOR THIS" },
389 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
390 { ssoTEXT, pos, 128, 154, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
391 { ssoTRIFRAME, pos, 80, 98, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
392 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
393 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
394 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
395 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
396 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
397 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
398 { sso2X2FRAME, pos, 120, 34, 13, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
399 { ssoBUTTONITEM, notscrolling, 64, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
400 { ssoCURRENTITEM, notscrolling, 128, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
401 { ssoCURRENTITEM, notscrolling, 148, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
402 { ssoCURRENTITEM, notscrolling, 160, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
403 { ssoCURRENTITEM, notscrolling, 176, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
404 { ssoCURRENTITEM, notscrolling, 192, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
405 { ssoCURRENTITEM, notscrolling, 204, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
406 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
407 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
408 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
409 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
410 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
411 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
412 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
413 { ssoCURRENTITEM, notscrolling, 172, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
414 { ssoCURRENTITEM, notscrolling, 180, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
415 { ssoCURRENTITEM, notscrolling, 128, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
416 { ssoCURRENTITEM, notscrolling, 152, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
417 { ssoCURRENTITEM, notscrolling, 176, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
418 { ssoCURRENTITEM, notscrolling, 200, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
419 { ssoCURRENTITEM, notscrolling, 128, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
420 { ssoCURRENTITEM, notscrolling, 152, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
421 { ssoCURRENTITEM, notscrolling, 176, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
422 { ssoCURRENTITEM, notscrolling, 200, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
423 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
424 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
425 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
426 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
427 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
428 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
429 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
430 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
431 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
432 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
433 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
434 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
435 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
436 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
437 },
438 {
439 //ssdtOLD, dungeon
440 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
441 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
442 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
443 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
444 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
445 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
446 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
447 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
448 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
449 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
450 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
451 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
452 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
453 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
454 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
455 { sso2X2FRAME, pos, 56, 34, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
456 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
457 { ssoTEXT, pos, 64, 66, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "USE B BUTTON" },
458 { ssoTEXT, pos, 64, 74, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "FOR THIS" },
459 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
460 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
461 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
462 { ssoLARGEMAP, pos, 96, 82, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL },
463 { ssoTEXT, pos, 52, 90, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "MAP" },
464 { ssoTEXT, pos, 52, 130, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "COMPASS" },
465 { ssoCURRENTITEM, notscrolling, 44, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
466 { ssoCURRENTITEM, notscrolling, 44, 146, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
467 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
468 { sso2X2FRAME, pos, 120, 34, 13, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
469 { ssoBUTTONITEM, notscrolling, 64, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
470 { ssoCURRENTITEM, notscrolling, 128, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
471 { ssoCURRENTITEM, notscrolling, 148, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
472 { ssoCURRENTITEM, notscrolling, 160, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
473 { ssoCURRENTITEM, notscrolling, 176, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
474 { ssoCURRENTITEM, notscrolling, 192, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
475 { ssoCURRENTITEM, notscrolling, 204, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
476 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
477 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
478 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
479 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
480 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
481 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
482 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
483 { ssoCURRENTITEM, notscrolling, 172, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
484 { ssoCURRENTITEM, notscrolling, 180, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
485 { ssoCURRENTITEM, notscrolling, 128, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
486 { ssoCURRENTITEM, notscrolling, 152, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
487 { ssoCURRENTITEM, notscrolling, 176, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
488 { ssoCURRENTITEM, notscrolling, 200, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
489 { ssoCURRENTITEM, notscrolling, 128, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
490 { ssoCURRENTITEM, notscrolling, 152, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
491 { ssoCURRENTITEM, notscrolling, 176, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
492 { ssoCURRENTITEM, notscrolling, 200, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
493 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
494 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
495 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
496 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
497 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
498 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
499 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
500 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
501 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
502 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
503 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
504 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
505 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
506 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
507 }
508 },
509 {
510 //ssdtNEWSUBSCR
511 {
512 //ssdtNEWSUBSCR, overworld
513 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
514 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
515 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
516 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
517 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
518 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
519 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
520 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
521 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
522 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
523 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
524 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
525 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
526 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
527 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
528 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
529 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
530 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
531 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
532 { sso2X2FRAME, pos, 12, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
533 { ssoTEXT, pos, 128, 154, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
534 { ssoTRIFRAME, pos, 80, 98, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
535 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
536 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
537 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
538 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
539 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
540 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
541 { sso2X2FRAME, pos, 136, 18, 13, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
542 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
543 { ssoCURRENTITEM, pos, 20, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
544 { ssoCURRENTITEM, pos, 36, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
545 { ssoCURRENTITEM, pos, 52, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
546 { ssoCURRENTITEM, pos, 68, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
547 { ssoCURRENTITEM, pos, 84, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
548 { ssoCURRENTITEM, pos, 100, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
549 { ssoCURRENTITEM, pos, 20, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
550 { ssoCURRENTITEM, pos, 36, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
551 { ssoCURRENTITEM, pos, 52, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
552 { ssoCURRENTITEM, pos, 68, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
553 { ssoCURRENTITEM, pos, 84, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
554 { ssoCURRENTITEM, pos, 100, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
555 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
556 { ssoCURRENTITEM, pos, 188, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
557 { ssoCURRENTITEM, pos, 196, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
558 { ssoCURRENTITEM, pos, 144, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
559 { ssoCURRENTITEM, pos, 168, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
560 { ssoCURRENTITEM, pos, 192, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
561 { ssoCURRENTITEM, pos, 216, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
562 { ssoCURRENTITEM, pos, 144, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
563 { ssoCURRENTITEM, pos, 168, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
564 { ssoCURRENTITEM, pos, 192, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
565 { ssoCURRENTITEM, pos, 216, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
566 { ssoCURRENTITEM, pos, 144, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
567 { ssoCURRENTITEM, pos, 168, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
568 { ssoCURRENTITEM, pos, 192, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
569 { ssoCURRENTITEM, pos, 216, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
570 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
571 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
572 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
573 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
574 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
575 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
576 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
577 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
578 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
579 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
580 },
581 {
582 //ssdtNEWSUBSCR, dungeon
583 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
584 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
585 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
586 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
587 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
588 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
589 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
590 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
591 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
592 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
593 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
594 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
595 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
596 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
597 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
598 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
599 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
600 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
601 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
602 { sso2X2FRAME, pos, 12, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
603 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
604 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
605 { ssoLARGEMAP, pos, 96, 82, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL },
606 { ssoTEXT, pos, 52, 90, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "MAP" },
607 { ssoTEXT, pos, 52, 130, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "COMPASS" },
608 { ssoCURRENTITEM, pos, 44, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
609 { ssoCURRENTITEM, pos, 44, 146, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
610 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
611 { sso2X2FRAME, pos, 136, 18, 13, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
612 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
613 { ssoCURRENTITEM, pos, 20, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
614 { ssoCURRENTITEM, pos, 36, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
615 { ssoCURRENTITEM, pos, 52, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
616 { ssoCURRENTITEM, pos, 68, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
617 { ssoCURRENTITEM, pos, 84, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
618 { ssoCURRENTITEM, pos, 100, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
619 { ssoCURRENTITEM, pos, 20, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
620 { ssoCURRENTITEM, pos, 36, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
621 { ssoCURRENTITEM, pos, 52, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
622 { ssoCURRENTITEM, pos, 68, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
623 { ssoCURRENTITEM, pos, 84, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
624 { ssoCURRENTITEM, pos, 100, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
625 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
626 { ssoCURRENTITEM, pos, 188, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
627 { ssoCURRENTITEM, pos, 196, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
628 { ssoCURRENTITEM, pos, 144, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
629 { ssoCURRENTITEM, pos, 168, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
630 { ssoCURRENTITEM, pos, 192, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
631 { ssoCURRENTITEM, pos, 216, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
632 { ssoCURRENTITEM, pos, 144, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
633 { ssoCURRENTITEM, pos, 168, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
634 { ssoCURRENTITEM, pos, 192, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
635 { ssoCURRENTITEM, pos, 216, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
636 { ssoCURRENTITEM, pos, 144, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
637 { ssoCURRENTITEM, pos, 168, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
638 { ssoCURRENTITEM, pos, 192, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
639 { ssoCURRENTITEM, pos, 216, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
640 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
641 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
642 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
643 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
644 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
645 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
646 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
647 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
648 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
649 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
650 }
651 },
652 {
653 //ssdtREV2
654 {
655 //ssdtREV2, overworld
656 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
657 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
658 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
659 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
660 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
661 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
662 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
663 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
664 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
665 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
666 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
667 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
668 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
669 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
670 { ssoTEXT, pos, 62, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
671 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
672 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
673 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
674 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
675 { sso2X2FRAME, pos, 6, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
676 { ssoTEXT, pos, 128, 154, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
677 { ssoTRIFRAME, pos, 80, 98, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
678 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
679 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
680 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
681 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
682 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
683 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
684 { sso2X2FRAME, pos, 118, 18, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
685 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
686 { ssoCURRENTITEM, pos, 14, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
687 { ssoCURRENTITEM, pos, 30, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
688 { ssoCURRENTITEM, pos, 46, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
689 { ssoCURRENTITEM, pos, 62, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
690 { ssoCURRENTITEM, pos, 78, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
691 { ssoCURRENTITEM, pos, 94, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
692 { ssoCURRENTITEM, pos, 14, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
693 { ssoCURRENTITEM, pos, 30, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
694 { ssoCURRENTITEM, pos, 46, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
695 { ssoCURRENTITEM, pos, 62, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
696 { ssoCURRENTITEM, pos, 78, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
697 { ssoCURRENTITEM, pos, 94, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
698 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
699 { ssoCURRENTITEM, pos, 170, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
700 { ssoCURRENTITEM, pos, 178, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
701 { ssoCURRENTITEM, pos, 126, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
702 { ssoCURRENTITEM, pos, 150, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
703 { ssoCURRENTITEM, pos, 174, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
704 { ssoCURRENTITEM, pos, 198, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
705 { ssoCURRENTITEM, pos, 222, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_dinsfire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
706 { ssoCURRENTITEM, pos, 126, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
707 { ssoCURRENTITEM, pos, 150, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
708 { ssoCURRENTITEM, pos, 174, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
709 { ssoCURRENTITEM, pos, 198, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
710 { ssoCURRENTITEM, pos, 222, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_faroreswind, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
711 { ssoCURRENTITEM, pos, 126, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
712 { ssoCURRENTITEM, pos, 150, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
713 { ssoCURRENTITEM, pos, 174, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
714 { ssoCURRENTITEM, pos, 198, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
715 { ssoCURRENTITEM, pos, 222, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_nayruslove, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
716 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
717 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
718 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
719 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
720 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
721 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
722 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
723 },
724 {
725 //ssdtREV2, dungeon
726 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
727 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
728 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
729 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
730 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
731 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
732 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
733 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
734 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
735 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
736 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
737 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
738 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
739 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
740 { ssoTEXT, pos, 62, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
741 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
742 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
743 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
744 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
745 { sso2X2FRAME, pos, 6, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
746 { sso2X2FRAME, pos, 16, 98, 9, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
747 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
748 { ssoLARGEMAP, pos, 96, 82, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL },
749 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
750 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
751 { ssoCURRENTITEM, pos, 24, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
752 { ssoCURRENTITEM, pos, 44, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
753 { ssoCURRENTITEM, pos, 64, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_bosskey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
754 { sso2X2FRAME, pos, 118, 18, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
755 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
756 { ssoCURRENTITEM, pos, 14, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
757 { ssoCURRENTITEM, pos, 30, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
758 { ssoCURRENTITEM, pos, 46, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
759 { ssoCURRENTITEM, pos, 62, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
760 { ssoCURRENTITEM, pos, 78, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
761 { ssoCURRENTITEM, pos, 94, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
762 { ssoCURRENTITEM, pos, 14, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
763 { ssoCURRENTITEM, pos, 30, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
764 { ssoCURRENTITEM, pos, 46, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
765 { ssoCURRENTITEM, pos, 62, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
766 { ssoCURRENTITEM, pos, 78, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
767 { ssoCURRENTITEM, pos, 94, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
768 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
769 { ssoCURRENTITEM, pos, 170, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
770 { ssoCURRENTITEM, pos, 178, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
771 { ssoCURRENTITEM, pos, 126, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
772 { ssoCURRENTITEM, pos, 150, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
773 { ssoCURRENTITEM, pos, 174, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
774 { ssoCURRENTITEM, pos, 198, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
775 { ssoCURRENTITEM, pos, 222, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_dinsfire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
776 { ssoCURRENTITEM, pos, 126, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
777 { ssoCURRENTITEM, pos, 150, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
778 { ssoCURRENTITEM, pos, 174, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
779 { ssoCURRENTITEM, pos, 198, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
780 { ssoCURRENTITEM, pos, 222, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_faroreswind, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
781 { ssoCURRENTITEM, pos, 126, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
782 { ssoCURRENTITEM, pos, 150, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
783 { ssoCURRENTITEM, pos, 174, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
784 { ssoCURRENTITEM, pos, 198, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
785 { ssoCURRENTITEM, pos, 222, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_nayruslove, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
786 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
787 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
788 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
789 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
790 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
791 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
792 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
793 }
794 },
795 {
796 //ssdtBSZELDA
797 {
798 //ssdtBSZELDA, overworld
799 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
800 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
801 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
802 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
803 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
804 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
805 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
806 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
807 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
808 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
809 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
810 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
811 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
812 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
813 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
814 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
815 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
816 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
817 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
818 { sso2X2FRAME, pos, 20, 40, 13, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
819 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
820 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
821 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
822 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
823 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
824 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
825 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
826 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
827 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
828 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
829 { ssoCURRENTITEM, pos, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
830 { ssoCURRENTITEM, pos, 96, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
831 { ssoCURRENTITEM, pos, 80, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
832 { ssoCURRENTITEM, pos, 32, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
833 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
834 { ssoCURRENTITEM, pos, 64, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
835 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
836 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
837 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
838 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
839 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
840 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
841 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
842 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
843 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
844 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
845 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
846 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
847 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
848 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
849 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
850 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
851 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
852 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
853 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
854 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
855 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
856 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
857 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
858 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
859 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
860 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
861 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
862 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
863 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
864 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
865 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
866 },
867 {
868 //ssdtBSZELDA, dungeon
869 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
870 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
871 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
872 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
873 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
874 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
875 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
876 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
877 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
878 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
879 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
880 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
881 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
882 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
883 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
884 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
885 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
886 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
887 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
888 { sso2X2FRAME, pos, 20, 40, 13, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
889 { sso2X2FRAME, pos, 160, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
890 { sso2X2FRAME, pos, 192, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
891 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
892 { ssoTEXT, pos, 176, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Compass" },
893 { ssoTEXT, pos, 208, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Map" },
894 { ssoCURRENTITEM, pos, 200, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
895 { ssoCURRENTITEM, pos, 168, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
896 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
897 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
898 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
899 { ssoCURRENTITEM, pos, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
900 { ssoCURRENTITEM, pos, 96, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
901 { ssoCURRENTITEM, pos, 80, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
902 { ssoCURRENTITEM, pos, 32, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
903 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
904 { ssoCURRENTITEM, pos, 64, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
905 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
906 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
907 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
908 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
909 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
910 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
911 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
912 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
913 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
914 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
915 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
916 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
917 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
918 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
919 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
920 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
921 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
922 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
923 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
924 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
925 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
926 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
927 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
928 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
929 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
930 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
931 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
932 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
933 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
934 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
935 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
936 }
937 },
938 {
939 //ssdtBSZELDAMODIFIED
940 {
941 //ssdtBSZELDAMODIFIED, overworld
942 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
943 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
944 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
945 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
946 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
947 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
948 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
949 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
950 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
951 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
952 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
953 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
954 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
955 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
956 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
957 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
958 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
959 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
960 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
961 { sso2X2FRAME, pos, 12, 40, 15, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
962 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
963 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
964 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
965 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
966 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
967 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
968 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
969 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
970 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
971 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
972 { ssoCURRENTITEM, pos, 40, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
973 { ssoCURRENTITEM, pos, 88, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
974 { ssoCURRENTITEM, pos, 72, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
975 { ssoCURRENTITEM, pos, 24, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
976 { ssoCURRENTITEM, pos, 104, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
977 { ssoCURRENTITEM, pos, 56, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
978 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
979 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
980 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
981 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
982 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
983 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
984 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
985 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
986 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
987 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
988 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
989 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
990 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
991 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
992 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
993 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
994 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
995 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
996 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
997 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
998 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
999 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1000 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1001 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1002 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1003 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1004 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1005 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1006 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1007 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1008 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1009 },
1010 {
1011 //ssdtBSZELDAMODIFIED, dungeon
1012 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1013 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1014 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1015 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1016 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1017 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1018 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1019 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1020 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1021 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1022 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1023 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1024 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1025 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1026 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1027 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1028 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1029 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1030 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1031 { sso2X2FRAME, pos, 12, 40, 15, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1032 { sso2X2FRAME, pos, 160, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1033 { sso2X2FRAME, pos, 192, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1034 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1035 { ssoTEXT, pos, 176, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Compass" },
1036 { ssoTEXT, pos, 208, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Map" },
1037 { ssoCURRENTITEM, pos, 200, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1038 { ssoCURRENTITEM, pos, 168, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1039 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1040 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1041 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1042 { ssoCURRENTITEM, pos, 40, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1043 { ssoCURRENTITEM, pos, 88, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1044 { ssoCURRENTITEM, pos, 72, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1045 { ssoCURRENTITEM, pos, 24, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1046 { ssoCURRENTITEM, pos, 104, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1047 { ssoCURRENTITEM, pos, 56, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1048 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1049 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1050 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1051 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1052 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1053 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1054 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1055 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1056 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1057 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1058 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1059 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1060 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1061 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1062 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1063 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1064 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1065 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1066 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1067 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1068 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1069 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1070 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1071 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1072 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1073 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1074 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1075 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1076 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1077 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1078 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1079 }
1080 },
1081 {
1082 //ssdtBSZELDAENHANCED
1083 {
1084 //ssdtBSZELDAENHANCED, overworld
1085 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1086 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1087 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1088 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1089 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1090 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1091 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1092 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1093 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1094 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1095 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1096 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1097 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1098 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1099 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1100 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1101 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1102 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1103 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1104 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1105 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
1106 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1107 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1108 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1109 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1110 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1111 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1112 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1113 { sso2X2FRAME, pos, 20, 104, 14, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1114 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1115 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1116 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1117 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1118 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1119 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1120 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1121 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1122 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1123 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1124 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1125 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1126 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1127 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1128 { ssoCURRENTITEM, pos, 76, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1129 { ssoCURRENTITEM, pos, 84, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1130 { ssoCURRENTITEM, pos, 32, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1131 { ssoCURRENTITEM, pos, 56, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1132 { ssoCURRENTITEM, pos, 80, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1133 { ssoCURRENTITEM, pos, 104, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1134 { ssoCURRENTITEM, pos, 32, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1135 { ssoCURRENTITEM, pos, 56, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1136 { ssoCURRENTITEM, pos, 80, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1137 { ssoCURRENTITEM, pos, 104, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1138 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1139 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1140 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1141 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1142 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1143 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1144 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1145 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1146 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1147 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1148 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1149 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1150 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1151 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1152 },
1153 {
1154 //ssdtBSZELDAENHANCED, dungeon
1155 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1156 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1157 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1158 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1159 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1160 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1161 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1162 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1163 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1164 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1165 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1166 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1167 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1168 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1169 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1170 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1171 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1172 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1173 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1174 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1175 { sso2X2FRAME, pos, 160, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1176 { sso2X2FRAME, pos, 192, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1177 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1178 { ssoTEXT, pos, 176, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Compass" },
1179 { ssoTEXT, pos, 208, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Map" },
1180 { ssoCURRENTITEM, pos, 200, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1181 { ssoCURRENTITEM, pos, 168, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1182 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1183 { sso2X2FRAME, pos, 20, 104, 14, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1184 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1185 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1186 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1187 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1188 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1189 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1190 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1191 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1192 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1193 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1194 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1195 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1196 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1197 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1198 { ssoCURRENTITEM, pos, 76, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1199 { ssoCURRENTITEM, pos, 84, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1200 { ssoCURRENTITEM, pos, 32, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1201 { ssoCURRENTITEM, pos, 56, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1202 { ssoCURRENTITEM, pos, 80, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1203 { ssoCURRENTITEM, pos, 104, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1204 { ssoCURRENTITEM, pos, 32, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1205 { ssoCURRENTITEM, pos, 56, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1206 { ssoCURRENTITEM, pos, 80, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1207 { ssoCURRENTITEM, pos, 104, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1208 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1209 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1210 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1211 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1212 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1213 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1214 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1215 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1216 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1217 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1218 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1219 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1220 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1221 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1222 }
1223 },
1224 {
1225 //ssdtBSZELDACOMPLETE
1226 {
1227 //ssdtBSZELDACOMPLETE, overworld
1228 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1229 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1230 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1231 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1232 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1233 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1234 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1235 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1236 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1237 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1238 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1239 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1240 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1241 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1242 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1243 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1244 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1245 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1246 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1247 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1248 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
1249 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1250 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1251 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1252 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1253 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1254 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1255 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1256 { sso2X2FRAME, pos, 4, 104, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1257 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1258 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1259 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1260 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1261 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1262 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1263 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1264 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1265 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1266 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1267 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1268 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1269 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1270 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1271 { ssoCURRENTITEM, pos, 58, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1272 { ssoCURRENTITEM, pos, 68, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1273 { ssoCURRENTITEM, pos, 14, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1274 { ssoCURRENTITEM, pos, 38, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1275 { ssoCURRENTITEM, pos, 62, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1276 { ssoCURRENTITEM, pos, 86, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
1277 { ssoCURRENTITEM, pos, 110, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_dinsfire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1278 { ssoCURRENTITEM, pos, 14, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1279 { ssoCURRENTITEM, pos, 38, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1280 { ssoCURRENTITEM, pos, 62, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1281 { ssoCURRENTITEM, pos, 86, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
1282 { ssoCURRENTITEM, pos, 110, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_faroreswind, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1283 { ssoCURRENTITEM, pos, 14, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1284 { ssoCURRENTITEM, pos, 38, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1285 { ssoCURRENTITEM, pos, 62, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1286 { ssoCURRENTITEM, pos, 86, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
1287 { ssoCURRENTITEM, pos, 110, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_nayruslove, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1288 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1289 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1290 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1291 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1292 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1293 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1294 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1295 },
1296 {
1297 //ssdtBSZELDACOMPLETE, dungeon
1298 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1299 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1300 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1301 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1302 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1303 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1304 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1305 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1306 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1307 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1308 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1309 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1310 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1311 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1312 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1313 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1314 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1315 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1316 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1317 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1318 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1319 { sso2X2FRAME, pos, 152, 40, 10, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1320 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1321 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1322 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1323 { ssoCURRENTITEM, pos, 160, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1324 { ssoCURRENTITEM, pos, 184, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1325 { ssoCURRENTITEM, pos, 208, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bosskey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1326 { sso2X2FRAME, pos, 4, 104, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1327 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1328 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1329 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1330 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1331 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1332 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1333 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1334 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1335 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1336 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1337 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1338 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1339 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1340 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1341 { ssoCURRENTITEM, pos, 58, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1342 { ssoCURRENTITEM, pos, 68, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1343 { ssoCURRENTITEM, pos, 14, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1344 { ssoCURRENTITEM, pos, 38, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1345 { ssoCURRENTITEM, pos, 62, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1346 { ssoCURRENTITEM, pos, 86, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
1347 { ssoCURRENTITEM, pos, 110, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_dinsfire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1348 { ssoCURRENTITEM, pos, 14, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1349 { ssoCURRENTITEM, pos, 38, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1350 { ssoCURRENTITEM, pos, 62, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1351 { ssoCURRENTITEM, pos, 86, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
1352 { ssoCURRENTITEM, pos, 110, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_faroreswind, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1353 { ssoCURRENTITEM, pos, 14, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1354 { ssoCURRENTITEM, pos, 38, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1355 { ssoCURRENTITEM, pos, 62, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1356 { ssoCURRENTITEM, pos, 86, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
1357 { ssoCURRENTITEM, pos, 110, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_nayruslove, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1358 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1359 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1360 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1361 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1362 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1363 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1364 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1365 }
1366 }
1367 };
1368 subscreen_object default_subscreen_passive[ssdtMAX][2][21]= //[zinit.subscreen][no magic]
1369 {
1370 {
1371 //ssdtOLD
1372 {
1373 //ssdtOLD, magic
1374 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1375 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1376 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1377 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1378 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1379 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1380 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1381 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1382 { ssoBUTTONITEM, sspUP, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1383 { ssoBUTTONITEM, sspUP, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1384 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1385 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1386 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1387 { ssoTEXT, pos, 208, 12, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1388 { ssoLIFEMETER, pos, 176, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1389 { ssoMAGICMETER, pos, 176, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1390 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1391 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1392 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1393 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1394 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1395 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1396 },
1397 {
1398 //ssdtOLD, no magic
1399 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1400 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1401 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1402 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1403 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1404 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1405 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1406 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1407 { ssoBUTTONITEM, sspUP, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1408 { ssoBUTTONITEM, sspUP, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1409 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1410 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1411 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1412 { ssoTEXT, pos, 208, 16, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1413 { ssoLIFEMETER, pos, 176, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1414 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1415 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1416 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1417 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1418 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1419 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1420 }
1421 },
1422 {
1423 //ssdtNEWSUBSCR
1424 {
1425 //ssdtNEWSUBSCR, magic
1426 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1427 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1428 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1429 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1430 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1431 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1432 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1433 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1434 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1435 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1436 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1437 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1438 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1439 { ssoTEXT, pos, 208, 12, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1440 { ssoLIFEMETER, pos, 176, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1441 { ssoMAGICMETER, pos, 176, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1442 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1443 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1444 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1445 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1446 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1447 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1448 },
1449 {
1450 //ssdtNEWSUBSCR, no magic
1451 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1452 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1453 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1454 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1455 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1456 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1457 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1458 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1459 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1460 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1461 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1462 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1463 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1464 { ssoTEXT, pos, 208, 16, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1465 { ssoLIFEMETER, pos, 176, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1466 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1467 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1468 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1469 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1470 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1471 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1472 }
1473 },
1474 {
1475 //ssdtREV2
1476 {
1477 //ssdtREV2, magic
1478 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1479 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1480 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1481 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1482 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1483 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1484 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1485 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1486 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1487 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1488 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1489 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1490 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1491 { ssoTEXT, pos, 208, 12, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1492 { ssoLIFEMETER, pos, 176, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1493 { ssoMAGICMETER, pos, 176, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1494 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1495 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1496 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1497 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1498 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1499 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1500 },
1501 {
1502 //ssdtREV2, no magic
1503 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1504 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1505 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1506 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1507 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1508 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1509 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1510 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1511 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1512 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1513 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1514 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1515 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1516 { ssoTEXT, pos, 208, 16, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1517 { ssoLIFEMETER, pos, 176, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1518 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1519 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1520 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1521 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1522 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1523 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1524 }
1525 },
1526 {
1527 //ssdtBSZELDA
1528 {
1529 //ssdtBSZELDA, magic
1530 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1531 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1532 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1533 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1534 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1535 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1536 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1537 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1538 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1539 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1540 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1541 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1542 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1543 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1544 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1545 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1546 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1547 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1548 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1549 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1550 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1551 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1552 },
1553 {
1554 //ssdtBSZELDA, no magic
1555 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1556 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1557 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1558 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1559 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1560 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1561 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1562 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1563 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1564 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1565 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1566 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1567 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1568 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1569 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1570 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1571 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1572 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1573 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1574 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1575 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1576 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1577 }
1578 },
1579 {
1580 //ssdtBSZELDAMODIFIED
1581 {
1582 //ssdtBSZELDAMODIFIED, magic
1583 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1584 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1585 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1586 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1587 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1588 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1589 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1590 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1591 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1592 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1593 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1594 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1595 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1596 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1597 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1598 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1599 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1600 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1601 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1602 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1603 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1604 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1605 },
1606 {
1607 //ssdtBSZELDAMODIFIED, no magic
1608 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1609 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1610 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1611 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1612 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1613 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1614 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1615 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1616 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1617 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1618 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1619 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1620 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1621 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1622 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1623 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1624 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1625 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1626 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1627 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1628 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1629 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1630 }
1631 },
1632 {
1633 //ssdtBSZELDAENHANCED
1634 {
1635 //ssdtBSZELDAENHANCED, magic
1636 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1637 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1638 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1639 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1640 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1641 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1642 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1643 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1644 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1645 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1646 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1647 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1648 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1649 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1650 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1651 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1652 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1653 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1654 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1655 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1656 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1657 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1658 },
1659 {
1660 //ssdtBSZELDAENHANCED, no magic
1661 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1662 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1663 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1664 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1665 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1666 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1667 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1668 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1669 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1670 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1671 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1672 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1673 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1674 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1675 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1676 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1677 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1678 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1679 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1680 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1681 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1682 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1683 }
1684 },
1685 {
1686 //ssdtBSZELDACOMPLETE
1687 {
1688 //ssdtBSZELDACOMPLETE, magic
1689 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1690 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1691 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1692 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1693 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1694 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1695 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1696 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1697 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1698 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1699 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1700 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1701 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1702 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1703 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1704 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1705 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1706 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1707 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1708 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1709 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1710 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1711 },
1712 {
1713 //ssdtBSZELDACOMPLETE, no magic
1714 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1715 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1716 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1717 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1718 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1719 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1720 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1721 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1722 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1723 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1724 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1725 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1726 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1727 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1728 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1729 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1730 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1731 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1732 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1733 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1734 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1735 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1736 }
1737 }
1738 };
1739
1740 17652809 void textout_styled_aligned_ex(BITMAP *bmp, const FONT *f, const char *s, int32_t x, int32_t y, int32_t textstyle, int32_t alignment, int32_t color, int32_t shadow, int32_t bg)
1741 {
1742
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 2824520 times.
✓ Branch 2 taken 9206695 times.
✓ Branch 3 taken 5621594 times.
17652809 switch(alignment)
1743 {
1744 case sstaRIGHT:
1745
1/12
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 2824520 times.
2824520 switch(textstyle)
1746 {
1747 case sstsSHADOW:
1748 textout_shadow_right_ex(bmp, f, s, x, y, shadow, bg);
1749 break;
1750
1751 case sstsSHADOWU:
1752 textout_shadow_right_u_ex(bmp, f, s, x, y, shadow, bg);
1753 break;
1754
1755 case sstsOUTLINE8:
1756 textout_shadow_right_o_ex(bmp, f, s, x, y, shadow, bg);
1757 break;
1758
1759 case sstsOUTLINEPLUS:
1760 textout_shadow_right_plus_ex(bmp, f, s, x, y, shadow, bg);
1761 break;
1762
1763 case sstsOUTLINEX:
1764 textout_shadow_right_x_ex(bmp, f, s, x, y, shadow, bg);
1765 break;
1766
1767 case sstsSHADOWED:
1768 textout_shadowed_right_ex(bmp, f, s, x, y, color, shadow, bg);
1769 break;
1770
1771 case sstsSHADOWEDU:
1772 textout_shadowed_right_u_ex(bmp, f, s, x, y, color, shadow, bg);
1773 break;
1774
1775 case sstsOUTLINED8:
1776 textout_shadowed_right_o_ex(bmp, f, s, x, y, color, shadow, bg);
1777 break;
1778
1779 case sstsOUTLINEDPLUS:
1780 textout_shadowed_right_plus_ex(bmp, f, s, x, y, color, shadow, bg);
1781 break;
1782
1783 case sstsOUTLINEDX:
1784 textout_shadowed_right_x_ex(bmp, f, s, x, y, color, shadow, bg);
1785 break;
1786
1787 2824520 case sstsNORMAL:
1788 default:
1789 2824520 textout_right_ex(bmp, f, s, x, y, color, bg);
1790 2824520 break;
1791 }
1792
1793 2824520 break;
1794
1795 case sstaCENTER:
1796
1/12
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 9206695 times.
9206695 switch(textstyle)
1797 {
1798 case sstsSHADOW:
1799 textout_shadow_center_ex(bmp, f, s, x, y, shadow, bg);
1800 break;
1801
1802 case sstsSHADOWU:
1803 textout_shadow_center_u_ex(bmp, f, s, x, y, shadow, bg);
1804 break;
1805
1806 case sstsOUTLINE8:
1807 textout_shadow_center_o_ex(bmp, f, s, x, y, shadow, bg);
1808 break;
1809
1810 case sstsOUTLINEPLUS:
1811 textout_shadow_center_plus_ex(bmp, f, s, x, y, shadow, bg);
1812 break;
1813
1814 case sstsOUTLINEX:
1815 textout_shadow_center_x_ex(bmp, f, s, x, y, shadow, bg);
1816 break;
1817
1818 case sstsSHADOWED:
1819 textout_shadowed_center_ex(bmp, f, s, x, y, color, shadow, bg);
1820 break;
1821
1822 case sstsSHADOWEDU:
1823 textout_shadowed_center_u_ex(bmp, f, s, x, y, color, shadow, bg);
1824 break;
1825
1826 case sstsOUTLINED8:
1827 textout_shadowed_center_o_ex(bmp, f, s, x, y, color, shadow, bg);
1828 break;
1829
1830 case sstsOUTLINEDPLUS:
1831 textout_shadowed_center_plus_ex(bmp, f, s, x, y, color, shadow, bg);
1832 break;
1833
1834 case sstsOUTLINEDX:
1835 textout_shadowed_center_x_ex(bmp, f, s, x, y, color, shadow, bg);
1836 break;
1837
1838 9206695 case sstsNORMAL:
1839 default:
1840 9206695 textout_centre_ex(bmp, f, s, x, y, color, bg);
1841 9206695 break;
1842 }
1843
1844 9206695 break;
1845
1846 5621594 case sstaLEFT:
1847 default:
1848
1/12
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 5621594 times.
5621594 switch(textstyle)
1849 {
1850 case sstsSHADOW:
1851 textout_shadow_ex(bmp, f, s, x, y, shadow, bg);
1852 break;
1853
1854 case sstsSHADOWU:
1855 textout_shadow_u_ex(bmp, f, s, x, y, shadow, bg);
1856 break;
1857
1858 case sstsOUTLINE8:
1859 textout_shadow_o_ex(bmp, f, s, x, y, shadow, bg);
1860 break;
1861
1862 case sstsOUTLINEPLUS:
1863 textout_shadow_plus_ex(bmp, f, s, x, y, shadow, bg);
1864 break;
1865
1866 case sstsOUTLINEX:
1867 textout_shadow_x_ex(bmp, f, s, x, y, shadow, bg);
1868 break;
1869
1870 case sstsSHADOWED:
1871 textout_shadowed_ex(bmp, f, s, x, y, color, shadow, bg);
1872 break;
1873
1874 case sstsSHADOWEDU:
1875 textout_shadowed_u_ex(bmp, f, s, x, y, color, shadow, bg);
1876 break;
1877
1878 case sstsOUTLINED8:
1879 textout_shadowed_o_ex(bmp, f, s, x, y, color, shadow, bg);
1880 break;
1881
1882 case sstsOUTLINEDPLUS:
1883 textout_shadowed_plus_ex(bmp, f, s, x, y, color, shadow, bg);
1884 break;
1885
1886 case sstsOUTLINEDX:
1887 textout_shadowed_x_ex(bmp, f, s, x, y, color, shadow, bg);
1888 break;
1889
1890 5621594 case sstsNORMAL:
1891 default:
1892 5621594 textout_ex(bmp, f, s, x, y, color, bg);
1893 5621594 break;
1894 }
1895
1896 5621594 break;
1897 }
1898 17652809 }
1899
1900 7418341 void textprintf_styled_aligned_ex(BITMAP *bmp, const FONT *f, int32_t x, int32_t y, int32_t textstyle, int32_t alignment, int32_t color, int32_t shadow, int32_t bg, const char *format, ...)
1901 {
1902
1903 char buf[512];
1904 va_list ap;
1905
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7418341 times.
7418341 ASSERT(bmp);
1906
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7418341 times.
7418341 ASSERT(f);
1907
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7418341 times.
7418341 ASSERT(format);
1908
1909 7418341 va_start(ap, format);
1910 7418341 uvszprintf(buf, sizeof(buf), format, ap);
1911 7418341 va_end(ap);
1912
1913 7418341 textout_styled_aligned_ex(bmp, f, buf, x, y, textstyle, alignment, color, shadow, bg);
1914 7418341 }
1915
1916
1917 38838 void draw_textbox(BITMAP *dest, int32_t x, int32_t y, int32_t w, int32_t h, FONT *tempfont, char *thetext, bool wword, int32_t tabsize, int32_t alignment, int32_t textstyle, int32_t color, int32_t shadowcolor, int32_t backcolor)
1918 {
1919 38838 int32_t y1 = y;
1920 int32_t x1;
1921 int32_t len;
1922 char s[16];
1923 char text[16];
1924 char space[16];
1925 38838 char *printed = text;
1926 38838 char *scanned = text;
1927 38838 char *oldscan = text;
1928 38838 char *ignore = NULL;
1929 char *tmp, *ptmp;
1930 int32_t width;
1931 38838 int32_t i = 0;
1932 int32_t noignore;
1933
1934 38838 usetc(s+usetc(s, '.'), 0);
1935 38838 usetc(text+usetc(text, ' '), 0);
1936 38838 usetc(space+usetc(space, ' '), 0);
1937
1938 /* find the correct text */
1939
1/2
✓ Branch 0 taken 38838 times.
✗ Branch 1 not taken.
38838 if(thetext != NULL)
1940 {
1941 38838 printed = thetext;
1942 38838 scanned = thetext;
1943 38838 }
1944
1945 /* loop over the entire string */
1946 144677 for(;;)
1947 {
1948 144677 width = 0;
1949
1950 /* find the next break */
1951
2/2
✓ Branch 0 taken 10795 times.
✓ Branch 1 taken 168378 times.
179173 while(ugetc(scanned))
1952 {
1953 /* check for a forced break */
1954
1/2
✓ Branch 0 taken 168378 times.
✗ Branch 1 not taken.
168378 if(ugetc(scanned) == '\n')
1955 {
1956 scanned += uwidth(scanned);
1957 /* we are done parsing the line end */
1958 break;
1959 }
1960
1961 /* the next character length */
1962 168378 usetc(s+usetc(s, ugetc(scanned)), 0);
1963 168378 len = text_length(tempfont, s);
1964
1965 /* modify length if its a tab */
1966
2/2
✓ Branch 0 taken 153241 times.
✓ Branch 1 taken 15137 times.
168378 if(ugetc(s) == '\t')
1967 {
1968 15137 len = tabsize * text_length(tempfont, space);
1969 15137 }
1970
1971 /* check for the end of a line by excess width of next char */
1972
2/2
✓ Branch 0 taken 34496 times.
✓ Branch 1 taken 133882 times.
168378 if(width+len >= w)
1973 {
1974 /* we have reached end of line do we go back to find start */
1975
1/2
✓ Branch 0 taken 133882 times.
✗ Branch 1 not taken.
133882 if(wword)
1976 {
1977 /* remember where we were */
1978 oldscan = scanned;
1979 noignore = FALSE;
1980
1981 /* go backwards looking for start of word */
1982 while(!uisspace(ugetc(scanned)))
1983 {
1984 /* don't wrap too far */
1985 if(scanned == printed)
1986 {
1987 /* the whole line is filled, so stop here */
1988 tmp = ptmp = scanned;
1989
1990 while(ptmp != oldscan)
1991 {
1992 ptmp = tmp;
1993 tmp += uwidth(tmp);
1994 }
1995
1996 scanned = ptmp;
1997 noignore = TRUE;
1998 break;
1999 }
2000
2001 /* look further backwards to wrap */
2002 tmp = ptmp = printed;
2003
2004 while(tmp < scanned)
2005 {
2006 ptmp = tmp;
2007 tmp += uwidth(tmp);
2008 }
2009
2010 scanned = ptmp;
2011 }
2012
2013 /* put the space at the end of the line */
2014 if(!noignore)
2015 {
2016 ignore = scanned;
2017 scanned += uwidth(scanned);
2018 }
2019 else
2020 {
2021 ignore = NULL;
2022 }
2023
2024 /* check for endline at the convenient place */
2025 if(ugetc(scanned) == '\n')
2026 {
2027 scanned += uwidth(scanned);
2028 }
2029 }
2030
2031 /* we are done parsing the line end */
2032 133882 break;
2033 }
2034
2035 /* the character can be added */
2036 34496 scanned += uwidth(scanned);
2037 34496 width += len;
2038 }
2039
2040 /* check if we are to print it */
2041
2/2
✓ Branch 0 taken 6453 times.
✓ Branch 1 taken 138224 times.
144677 if((y1+text_height(tempfont) <= (y+h)))
2042 {
2043 6453 int32_t tempw=0;
2044 6453 char *tempprinted=printed;
2045
2046 /* print up to the marked character */
2047
2/2
✓ Branch 0 taken 19359 times.
✓ Branch 1 taken 6453 times.
25812 while(printed != scanned)
2048 {
2049 /* do special stuff for each charater */
2050
1/3
✗ Branch 0 not taken.
✓ Branch 1 taken 19359 times.
✗ Branch 2 not taken.
19359 switch(ugetc(printed))
2051 {
2052 case '\r':
2053 case '\n':
2054 /* don't print endlines in the text */
2055 break;
2056
2057 /* possibly expand the tabs */
2058 case '\t':
2059 for(i=0; i<tabsize; i++)
2060 {
2061 usetc(s+usetc(s, ' '), 0);
2062 tempw += text_length(tempfont, s);
2063 }
2064
2065 break;
2066
2067 /* print a normal character */
2068 default:
2069
1/2
✓ Branch 0 taken 19359 times.
✗ Branch 1 not taken.
19359 if(printed != ignore)
2070 {
2071 19359 usetc(s+usetc(s, ugetc(printed)), 0);
2072 19359 tempw += text_length(tempfont, s);
2073 19359 }
2074 19359 }
2075
2076 /* goto the next character */
2077 19359 printed += uwidth(printed);
2078 }
2079
2080 6453 printed=tempprinted;
2081
2082
1/4
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✓ Branch 2 taken 6453 times.
✗ Branch 3 not taken.
6453 switch(alignment)
2083 {
2084 case sstaRIGHT:
2085 x1=x+w-tempw;
2086 break;
2087
2088 case sstaCENTER:
2089 6453 x1=x+((w-tempw)/2)+1;
2090 6453 break;
2091
2092 case sstaLEFT:
2093 default:
2094 x1 = x;
2095 break;
2096 }
2097
2098 /* print up to the marked character */
2099
2/2
✓ Branch 0 taken 19359 times.
✓ Branch 1 taken 6453 times.
25812 while(printed != scanned)
2100 {
2101 /* do special stuff for each charater */
2102
1/3
✗ Branch 0 not taken.
✓ Branch 1 taken 19359 times.
✗ Branch 2 not taken.
19359 switch(ugetc(printed))
2103 {
2104
2105 case '\r':
2106 case '\n':
2107 /* don't print endlines in the text */
2108 break;
2109
2110 /* possibly expand the tabs */
2111 case '\t':
2112 for(i=0; i<tabsize; i++)
2113 {
2114 usetc(s+usetc(s, ' '), 0);
2115 textout_styled_aligned_ex(dest, tempfont, s, x1, y1, textstyle, sstaLEFT, color, shadowcolor, backcolor);
2116 x1 += text_length(tempfont, s);
2117 }
2118
2119 break;
2120
2121 /* print a normal character */
2122 default:
2123
1/2
✓ Branch 0 taken 19359 times.
✗ Branch 1 not taken.
19359 if(printed != ignore)
2124 {
2125 19359 usetc(s+usetc(s, ugetc(printed)), 0);
2126 19359 textout_styled_aligned_ex(dest, tempfont, s, x1, y1, textstyle, sstaLEFT, color, shadowcolor, backcolor);
2127 19359 x1 += text_length(tempfont, s);
2128 19359 }
2129 19359 }
2130
2131 /* goto the next character */
2132 19359 printed += uwidth(printed);
2133 }
2134
2135 /* print the line end */
2136 6453 y1 += text_height(tempfont);
2137 6453 }
2138 else
2139 {
2140 138224 scanned += uwidth(scanned);
2141 }
2142
2143 144677 printed = scanned;
2144
2145 /* check if we are at the end of the string */
2146
2/2
✓ Branch 0 taken 38838 times.
✓ Branch 1 taken 105839 times.
144677 if(!ugetc(printed))
2147 {
2148 38838 return;
2149 }
2150 }
2151 }
2152
2153
2154
2155 //void frame2x2(BITMAP *dest,miscQdata *misc,int32_t x,int32_t y,int32_t xsize,int32_t ysize,int32_t t,int32_t c)
2156 //draw_block_flip(dest,x,y,css->objects[i].d1,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].w,css->objects[i].h,css->objects[i].d2,css->objects[i].d3,css->objects[i].d4);
2157 4919357 void frame2x2(BITMAP *dest,miscQdata *misc,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h,int32_t /*flip*/,bool overlay,bool trans)
2158 {
2159 /*
2160 /- -- -- -\
2161 | |
2162 | |
2163 \_ __ __ _/
2164
2165 0 1 4 5
2166 2 3 6 7
2167 80 81 84 85
2168 82 83 86 87
2169 */
2170
3/4
✓ Branch 0 taken 4897863 times.
✓ Branch 1 taken 21494 times.
✓ Branch 2 taken 4897863 times.
✗ Branch 3 not taken.
4919357 if(tile==0&&misc)
2171 {
2172 4897863 tile = misc->colors.blueframe_tile;
2173 4897863 }
2174
2175 4919357 int32_t t8 = tile<<2;
2176
2177
1/2
✓ Branch 0 taken 4919357 times.
✗ Branch 1 not taken.
4919357 if(overlay)
2178 {
2179
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4919357 times.
4919357 if(trans)
2180 {
2181 for(int32_t dx=0; dx<w; dx++)
2182 {
2183 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2184 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2185
2186 overtiletranslucent8(dest,top,(dx<<3)+x,y,cset,0,128);
2187 overtiletranslucent8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0,128);
2188 }
2189
2190 for(int32_t dy=1; dy<h-1; dy++)
2191 {
2192 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2193 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2194
2195 overtiletranslucent8(dest,left,x,(dy<<3)+y,cset,0,128);
2196 overtiletranslucent8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0,128);
2197
2198 for(int32_t dx=1; dx<w-1; dx++)
2199 {
2200 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2201 overtiletranslucent8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0,128);
2202 }
2203 }
2204 }
2205 else
2206 {
2207
2/2
✓ Branch 0 taken 15741083 times.
✓ Branch 1 taken 4919357 times.
20660440 for(int32_t dx=0; dx<w; dx++)
2208 {
2209
6/6
✓ Branch 0 taken 10297459 times.
✓ Branch 1 taken 5443624 times.
✓ Branch 2 taken 4919357 times.
✓ Branch 3 taken 5378102 times.
✓ Branch 4 taken 524267 times.
✓ Branch 5 taken 4919357 times.
15741083 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2210
6/6
✓ Branch 0 taken 10297459 times.
✓ Branch 1 taken 5443624 times.
✓ Branch 2 taken 4919357 times.
✓ Branch 3 taken 5378102 times.
✓ Branch 4 taken 524267 times.
✓ Branch 5 taken 4919357 times.
15741083 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2211
2212 15741083 overtile8(dest,top,(dx<<3)+x,y,cset,0);
2213 15741083 overtile8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0);
2214 15741083 }
2215
2216
2/2
✓ Branch 0 taken 10040084 times.
✓ Branch 1 taken 4919357 times.
14959441 for(int32_t dy=1; dy<h-1; dy++)
2217 {
2218
2/2
✓ Branch 0 taken 5030789 times.
✓ Branch 1 taken 5009295 times.
10040084 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2219
2/2
✓ Branch 0 taken 5030789 times.
✓ Branch 1 taken 5009295 times.
10040084 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2220
2221 10040084 overtile8(dest,left,x,(dy<<3)+y,cset,0);
2222 10040084 overtile8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0);
2223
2224
2/2
✓ Branch 0 taken 13818622 times.
✓ Branch 1 taken 10040084 times.
23858706 for(int32_t dx=1; dx<w-1; dx++)
2225 {
2226
6/6
✓ Branch 0 taken 6930805 times.
✓ Branch 1 taken 6887817 times.
✓ Branch 2 taken 5918756 times.
✓ Branch 3 taken 1012049 times.
✓ Branch 4 taken 5897262 times.
✓ Branch 5 taken 990555 times.
13818622 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2227 13818622 overtile8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0);
2228 13818622 }
2229 10040084 }
2230 }
2231 4919357 }
2232 else
2233 {
2234 if(trans)
2235 {
2236 for(int32_t dx=0; dx<w; dx++)
2237 {
2238 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2239 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2240
2241 puttiletranslucent8(dest,top,(dx<<3)+x,y,cset,0,128);
2242 puttiletranslucent8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0,128);
2243 }
2244
2245 for(int32_t dy=1; dy<h-1; dy++)
2246 {
2247 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2248 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2249
2250 puttiletranslucent8(dest,left,x,(dy<<3)+y,cset,0,128);
2251 puttiletranslucent8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0,128);
2252
2253 for(int32_t dx=1; dx<w-1; dx++)
2254 {
2255 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2256 puttiletranslucent8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0,128);
2257 }
2258 }
2259 }
2260 else
2261 {
2262 for(int32_t dx=0; dx<w; dx++)
2263 {
2264 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2265 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2266
2267 oldputtile8(dest,top,(dx<<3)+x,y,cset,0);
2268 oldputtile8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0);
2269 }
2270
2271 for(int32_t dy=1; dy<h-1; dy++)
2272 {
2273 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2274 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2275
2276 oldputtile8(dest,left,x,(dy<<3)+y,cset,0);
2277 oldputtile8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0);
2278
2279 for(int32_t dx=1; dx<w-1; dx++)
2280 {
2281 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2282 oldputtile8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0);
2283 }
2284 }
2285 }
2286 }
2287 4919357 }
2288
2289 817624 void drawgrid(BITMAP *dest,int32_t x,int32_t y,int32_t c1,int32_t c2)
2290 {
2291 817624 int32_t si=0;
2292
2293
2/2
✓ Branch 0 taken 6540992 times.
✓ Branch 1 taken 817624 times.
7358616 for(int32_t y2=0; y2<=7; ++y2)
2294 {
2295 6540992 byte dl = DMaps[get_currdmap()].grid[si];
2296
2297
2/2
✓ Branch 0 taken 52327936 times.
✓ Branch 1 taken 6540992 times.
58868928 for(int32_t x2=0; x2<=7; ++x2)
2298 {
2299
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 52327936 times.
52327936 if(c2==-1)
2300 {
2301
2/2
✓ Branch 0 taken 26465914 times.
✓ Branch 1 taken 25862022 times.
52327936 if(dl&0x80)
2302 25862022 rectfill(dest,(x2*8)+x,(y2*4)+y,(x2*8)+x+6,(y2*4)+y+2,c1);
2303 52327936 }
2304 else
2305 {
2306 rectfill(dest,(x2*8)+x,(y2*4)+y,(x2*8)+x+6,(y2*4)+y+2,c2);
2307
2308 if(dl&0x80)
2309 rectfill(dest,(x2*8)+x+2,(y2*4)+y,(x2*8)+x+4,(y2*4)+y+2,c1);
2310 }
2311
2312 52327936 dl<<=1;
2313 52327936 }
2314
2315 6540992 ++si;
2316 6540992 }
2317 817624 }
2318
2319 12048 void draw_block(BITMAP *dest,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h)
2320 {
2321
2/2
✓ Branch 0 taken 36144 times.
✓ Branch 1 taken 12048 times.
48192 for(int32_t j=0; j<h; j++)
2322
2/2
✓ Branch 0 taken 184623 times.
✓ Branch 1 taken 36144 times.
220767 for(int32_t i=0; i<w; i++)
2323 220767 overtile16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0);
2324 12048 }
2325
2326 void draw_block_flip(BITMAP *dest,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h,int32_t flip,bool overlay,bool trans)
2327 {
2328 if(overlay)
2329 {
2330 switch(flip&3)
2331 {
2332 case 0:
2333 if(trans)
2334 {
2335 for(int32_t j=0; j<h; j++)
2336 {
2337 for(int32_t i=0; i<w; i++)
2338 {
2339 overtiletranslucent16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0,255-trans);
2340 }
2341 }
2342 }
2343 else
2344 {
2345 for(int32_t j=0; j<h; j++)
2346 {
2347 for(int32_t i=0; i<w; i++)
2348 {
2349 overtile16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0);
2350 }
2351 }
2352 }
2353
2354 break;
2355
2356 case 1: //horizontal
2357 if(trans)
2358 {
2359 for(int32_t j=0; j<h; j++)
2360 {
2361 for(int32_t i=0; i<w; i++)
2362 {
2363 overtiletranslucent16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1,255-trans);
2364 }
2365 }
2366 }
2367 else
2368 {
2369 for(int32_t j=0; j<h; j++)
2370 {
2371 for(int32_t i=0; i<w; i++)
2372 {
2373 overtile16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1);
2374 }
2375 }
2376 }
2377
2378 break;
2379
2380 case 2:
2381 if(trans)
2382 {
2383 for(int32_t j=0; j<h; j++)
2384 {
2385 for(int32_t i=0; i<w; i++)
2386 {
2387 overtiletranslucent16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2,255-trans);
2388 }
2389 }
2390 }
2391 else
2392 {
2393 for(int32_t j=0; j<h; j++)
2394 {
2395 for(int32_t i=0; i<w; i++)
2396 {
2397 overtile16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2);
2398 }
2399 }
2400 }
2401
2402 break;
2403
2404 case 3:
2405 if(trans)
2406 {
2407 for(int32_t j=0; j<h; j++)
2408 {
2409 for(int32_t i=0; i<w; i++)
2410 {
2411 overtiletranslucent16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3,255-trans);
2412 }
2413 }
2414 }
2415 else
2416 {
2417 for(int32_t j=0; j<h; j++)
2418 {
2419 for(int32_t i=0; i<w; i++)
2420 {
2421 overtile16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3);
2422 }
2423 }
2424 }
2425
2426 break;
2427 }
2428 }
2429 else
2430 {
2431 switch(flip&3)
2432 {
2433 case 0:
2434 if(trans)
2435 {
2436 for(int32_t j=0; j<h; j++)
2437 {
2438 for(int32_t i=0; i<w; i++)
2439 {
2440 puttiletranslucent16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0,255-trans);
2441 }
2442 }
2443 }
2444 else
2445 {
2446 for(int32_t j=0; j<h; j++)
2447 {
2448 for(int32_t i=0; i<w; i++)
2449 {
2450 oldputtile16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0);
2451 }
2452 }
2453 }
2454
2455 break;
2456
2457 case 1: //horizontal
2458 if(trans)
2459 {
2460 for(int32_t j=0; j<h; j++)
2461 {
2462 for(int32_t i=0; i<w; i++)
2463 {
2464 puttiletranslucent16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1,255-trans);
2465 }
2466 }
2467 }
2468 else
2469 {
2470 for(int32_t j=0; j<h; j++)
2471 {
2472 for(int32_t i=0; i<w; i++)
2473 {
2474 oldputtile16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1);
2475 }
2476 }
2477 }
2478
2479 break;
2480
2481 case 2:
2482 if(trans)
2483 {
2484 for(int32_t j=0; j<h; j++)
2485 {
2486 for(int32_t i=0; i<w; i++)
2487 {
2488 puttiletranslucent16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2,255-trans);
2489 }
2490 }
2491 }
2492 else
2493 {
2494 for(int32_t j=0; j<h; j++)
2495 {
2496 for(int32_t i=0; i<w; i++)
2497 {
2498 oldputtile16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2);
2499 }
2500 }
2501 }
2502
2503 break;
2504
2505 case 3:
2506 if(trans)
2507 {
2508 for(int32_t j=0; j<h; j++)
2509 {
2510 for(int32_t i=0; i<w; i++)
2511 {
2512 puttiletranslucent16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3,255-trans);
2513 }
2514 }
2515 }
2516 else
2517 {
2518 for(int32_t j=0; j<h; j++)
2519 {
2520 for(int32_t i=0; i<w; i++)
2521 {
2522 oldputtile16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3);
2523 }
2524 }
2525 }
2526
2527 break;
2528 }
2529 }
2530 }
2531
2532 2403360 void drawdmap(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y, bool showmap, int32_t showhero, int32_t showcompass, int32_t herocolor, int32_t lccolor, int32_t dccolor)
2533 {
2534 2403360 zcolors c=misc->colors;
2535 2403360 int32_t type = (DMaps[get_currdmap()].type&dmfTYPE);
2536
2537
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 2403360 times.
2403360 if(showmap)
2538 {
2539
2/3
✓ Branch 0 taken 550835 times.
✓ Branch 1 taken 1852525 times.
✗ Branch 2 not taken.
2403360 switch(type)
2540 {
2541 case dmOVERW:
2542 case dmBSOVERW:
2543 {
2544
3/4
✓ Branch 0 taken 10747 times.
✓ Branch 1 taken 540088 times.
✓ Branch 2 taken 10747 times.
✗ Branch 3 not taken.
550835 int32_t maptile=(!get_bit(quest_rules, qr_BROKEN_OVERWORLD_MINIMAP) && has_item(itype_map, get_dlevel()))?DMaps[get_currdmap()].minimap_2_tile:DMaps[get_currdmap()].minimap_1_tile;
2545
3/4
✓ Branch 0 taken 10747 times.
✓ Branch 1 taken 540088 times.
✓ Branch 2 taken 10747 times.
✗ Branch 3 not taken.
550835 int32_t mapcset=(!get_bit(quest_rules, qr_BROKEN_OVERWORLD_MINIMAP) && has_item(itype_map, get_dlevel()))?DMaps[get_currdmap()].minimap_2_cset:DMaps[get_currdmap()].minimap_1_cset;
2546 //What a mess. The map drawing is based on a variable that can change states during a scrolling transition when warping. -Z
2547
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 550835 times.
550835 if(maptile)
2548 {
2549 draw_block(dest,x,y,maptile,mapcset,5,3);
2550 }
2551
3/4
✓ Branch 0 taken 540088 times.
✓ Branch 1 taken 10747 times.
✓ Branch 2 taken 540088 times.
✗ Branch 3 not taken.
550835 else if(c.overworld_map_tile || c.overworld_map_tile)
2552 {
2553
1/2
✓ Branch 0 taken 10747 times.
✗ Branch 1 not taken.
10747 draw_block(dest,x,y,(c.overworld_map_tile!=0?c.overworld_map_tile:c.overworld_map_tile),c.overworld_map_cset,5,3);
2554 10747 }
2555 else
2556 {
2557 540088 rectfill(dest,x+8,y+8,x+71,y+39,c.overw_bg);
2558 }
2559
2560
2/4
✓ Branch 0 taken 550835 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 550835 times.
✗ Branch 3 not taken.
550835 if(!DMaps[get_currdmap()].minimap_1_tile && ((DMaps[get_currdmap()].type&dmfTYPE) == dmBSOVERW))
2561 {
2562 drawgrid(dest,x+8,y+8,c.bs_goal,c.bs_dk);
2563 }
2564
2565 550835 break;
2566 }
2567 case dmDNGN:
2568 case dmCAVE:
2569 {
2570
2/2
✓ Branch 0 taken 817624 times.
✓ Branch 1 taken 1034901 times.
1852525 int32_t maptile=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].minimap_2_tile:DMaps[get_currdmap()].minimap_1_tile;
2571
2/2
✓ Branch 0 taken 817624 times.
✓ Branch 1 taken 1034901 times.
1852525 int32_t mapcset=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].minimap_2_cset:DMaps[get_currdmap()].minimap_1_cset;
2572 //What a mess. The map drawing is based on a variable that can change states during a scrolling transition when warping. -Z
2573
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1852525 times.
1852525 if(maptile)
2574 {
2575 draw_block(dest,x,y,maptile,mapcset,5,3);
2576 }
2577
2/4
✓ Branch 0 taken 1852525 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1852525 times.
✗ Branch 3 not taken.
1852525 else if(c.dungeon_map_tile||c.dungeon_map_tile)
2578 {
2579 draw_block(dest,x,y,(c.dungeon_map_tile!=0?c.dungeon_map_tile:c.dungeon_map_tile),c.dungeon_map_cset,5,3);
2580 }
2581 else
2582 {
2583 1852525 rectfill(dest,x+8,y+8,x+71,y+39,c.dngn_bg);
2584 }
2585 //Marking this as a possible area for the scrolling warp map bug reported by Lut. -Z
2586
3/4
✓ Branch 0 taken 1852525 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1034901 times.
✓ Branch 3 taken 817624 times.
1852525 if(!DMaps[get_currdmap()].minimap_2_tile && has_item(itype_map, get_dlevel()))
2587 {
2588
2/2
✓ Branch 0 taken 18127 times.
✓ Branch 1 taken 799497 times.
817624 if((DMaps[get_currdmap()].flags&dmfMINIMAPCOLORFIX) != 0)
2589 {
2590 18127 drawgrid(dest,x+8,y+8,c.cave_fg,-1);
2591 18127 }
2592 else
2593 {
2594 799497 drawgrid(dest,x+8,y+8,c.dngn_fg,-1);
2595 }
2596 817624 }
2597
2598 1852525 break;
2599 }
2600 }
2601 2403360 }
2602
2603
1/2
✓ Branch 0 taken 2403360 times.
✗ Branch 1 not taken.
2403360 if(showcompass)
2604 {
2605
4/4
✓ Branch 0 taken 587807 times.
✓ Branch 1 taken 1815553 times.
✓ Branch 2 taken 36972 times.
✓ Branch 3 taken 550835 times.
2403360 if(type==dmDNGN || type==dmCAVE)
2606 {
2607
4/4
✓ Branch 0 taken 1849325 times.
✓ Branch 1 taken 3200 times.
✓ Branch 2 taken 899250 times.
✓ Branch 3 taken 950075 times.
1852525 if(show_subscreen_dmap_dots&&has_item(itype_compass, get_dlevel()))
2608 {
2609 950075 int32_t c2 = dccolor;
2610
2611
4/4
✓ Branch 0 taken 842392 times.
✓ Branch 1 taken 107683 times.
✓ Branch 2 taken 424252 times.
✓ Branch 3 taken 418140 times.
950075 if(!has_item(itype_triforcepiece, get_dlevel()) && (frame&16))
2612 418140 c2 = lccolor;
2613
2614 950075 int32_t cx = ((DMaps[get_currdmap()].compass&15)<<3)+x+10;
2615 950075 int32_t cy = ((DMaps[get_currdmap()].compass&0xF0)>>2)+y+8;
2616 950075 putdot(dest,cx,cy,c2);
2617 950075 }
2618 1852525 }
2619 2403360 }
2620
2621
1/2
✓ Branch 0 taken 2403360 times.
✗ Branch 1 not taken.
2403360 if(showhero)
2622 {
2623
4/4
✓ Branch 0 taken 2396080 times.
✓ Branch 1 taken 7280 times.
✓ Branch 2 taken 10 times.
✓ Branch 3 taken 2396070 times.
2403360 if(show_subscreen_dmap_dots && herocolor != 255)
2624 {
2625
2/2
✓ Branch 0 taken 546755 times.
✓ Branch 1 taken 1849315 times.
2396070 if(type==dmOVERW)
2626 {
2627 546755 putdot(dest,((get_homescr()&15)<<2)+x+9,((get_homescr()&0xF0)>>2)+y+8,herocolor);
2628 546755 }
2629
5/6
✓ Branch 0 taken 1849315 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 36972 times.
✓ Branch 3 taken 1812343 times.
✓ Branch 4 taken 1736257 times.
✓ Branch 5 taken 113058 times.
1849315 else if(type==dmBSOVERW || ((type==dmDNGN || type==dmCAVE) && get_currscr()<128))
2630 {
2631 1736257 putdot(dest,(((get_homescr()&15)-DMaps[get_currdmap()].xoff)<<3)+x+10,((get_homescr()&0xF0)>>2)+y+8,herocolor);
2632 1736257 }
2633 2396070 }
2634 2403360 }
2635 2403360 }
2636
2637 2392613 void lifemeter(BITMAP *dest,int32_t x,int32_t y,int32_t cs,bool bs_style)
2638 {
2639
2/2
✓ Branch 0 taken 2384323 times.
✓ Branch 1 taken 8290 times.
2392613 if(!show_subscreen_life)
2640 {
2641 8290 return;
2642 }
2643
2644
2/2
✓ Branch 0 taken 706130 times.
✓ Branch 1 taken 1678193 times.
2384323 if(!bs_style)
2645 {
2646 1678193 y+=24;
2647 1678193 }
2648 2384323 int32_t tile = 0;
2649 2384323 const int32_t basetile = wpnsbuf[iwQuarterHearts].tile;
2650
2/4
✓ Branch 0 taken 2384323 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 2384323 times.
✗ Branch 3 not taken.
2384323 const int32_t max_iter = (game != NULL ? zc_min(game->get_maxlife(),game->get_hp_per_heart()*24) : 1);
2651
1/2
✓ Branch 0 taken 2384323 times.
✗ Branch 1 not taken.
2384323 const int32_t inc = (game != NULL ? game->get_hp_per_heart() : 16);
2652
2653
2/2
✓ Branch 0 taken 2384323 times.
✓ Branch 1 taken 22494894 times.
24879217 for(int32_t i=0; i<max_iter; i+=inc)
2654 {
2655
1/2
✓ Branch 0 taken 22494894 times.
✗ Branch 1 not taken.
22494894 if(game != NULL)
2656 {
2657
2/2
✓ Branch 0 taken 9052782 times.
✓ Branch 1 taken 13442112 times.
22494894 if(get_bit(quest_rules,qr_QUARTERHEART))
2658 {
2659
2/2
✓ Branch 0 taken 7780450 times.
✓ Branch 1 taken 1272332 times.
9052782 if(i+((game->get_hp_per_heart()/4)*3)>=game->get_life()) tile= (basetile*4)+2;
2660
2661
2/2
✓ Branch 0 taken 7857346 times.
✓ Branch 1 taken 1195436 times.
9052782 if(i+(game->get_hp_per_heart()/2)>=game->get_life()) tile=1;
2662
2663
2/2
✓ Branch 0 taken 8085584 times.
✓ Branch 1 taken 967198 times.
9052782 if(i+((game->get_hp_per_heart()/4)*1)>=game->get_life()) tile= (basetile*4)+3;
2664 9052782 }
2665
2/2
✓ Branch 0 taken 9797202 times.
✓ Branch 1 taken 3644910 times.
13442112 else if(i+(game->get_hp_per_heart()/2)>=game->get_life()) tile=1;
2666
2667
2/2
✓ Branch 0 taken 18311656 times.
✓ Branch 1 taken 4183238 times.
22494894 if(i>=game->get_life()) tile=4;
2668 22494894 }
2669 else
2670 tile=4;
2671
2672 22494894 overtile8(dest,tile,x,y,cs,0);
2673 22494894 x+=8;
2674
2675
2/2
✓ Branch 0 taken 20749605 times.
✓ Branch 1 taken 1745289 times.
22494894 if(((i>>4)&7)==7)
2676 {
2677 1745289 x-=64;
2678 1745289 y+=bs_style?8:-8;
2679 1745289 }
2680 22494894 }
2681 2392613 }
2682
2683 182699 void magicgauge(BITMAP *dest,int32_t x,int32_t y, int32_t container, int32_t notlast_tile, int32_t notlast_cset, bool notlast_mod, int32_t last_tile, int32_t last_cset, bool last_mod,
2684 int32_t cap_tile, int32_t cap_cset, bool cap_mod, int32_t aftercap_tile, int32_t aftercap_cset, bool aftercap_mod, int32_t frames, int32_t speed, int32_t delay, bool unique_last, int32_t show)
2685 {
2686 //these are here to bypass compiler warnings about unused arguments
2687 182699 frames=frames;
2688 182699 speed=speed;
2689 182699 delay=delay;
2690
2691 // show
2692 // <0: always
2693 // >=0: when drain rate matches show
2694
2/2
✓ Branch 0 taken 171952 times.
✓ Branch 1 taken 10747 times.
182699 if(show > -1)
2695 {
2696
1/2
✓ Branch 0 taken 10747 times.
✗ Branch 1 not taken.
10747 if(show != game->get_magicdrainrate())
2697 10747 return;
2698 }
2699
2700 171952 int32_t containers=game->get_maxmagic()/game->get_mp_per_block();
2701 171952 int32_t tile=zc_oldrand()%32767, cset=zc_oldrand()%15;
2702 171952 bool mod_value=(zc_oldrand()%2)!=0;
2703
2704
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 171952 times.
171952 if(container<containers)
2705 {
2706 tile=notlast_tile;
2707 cset=notlast_cset;
2708 mod_value=notlast_mod;
2709 }
2710
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 171952 times.
171952 else if(container==containers)
2711 {
2712 tile=last_tile;
2713 cset=last_cset;
2714 mod_value=last_mod;
2715 }
2716
2/2
✓ Branch 0 taken 10747 times.
✓ Branch 1 taken 161205 times.
171952 else if(container==containers+1)
2717 {
2718 10747 tile=cap_tile;
2719 10747 cset=cap_cset;
2720 10747 mod_value=cap_mod;
2721 10747 }
2722 else //if (container>containers+1)
2723 {
2724 161205 tile=aftercap_tile;
2725 161205 cset=aftercap_cset;
2726 161205 mod_value=aftercap_mod;
2727 }
2728
2729
1/2
✓ Branch 0 taken 171952 times.
✗ Branch 1 not taken.
171952 if(mod_value)
2730 {
2731 if(game->get_magic()>=container*game->get_mp_per_block())
2732 {
2733 //tile=tile; //full block
2734 if(game->get_magic()==container*game->get_mp_per_block())
2735 {
2736 if(unique_last)
2737 {
2738 tile+=game->get_mp_per_block()+3;
2739 }
2740 }
2741 }
2742 else
2743 {
2744 if(((container-1)*game->get_mp_per_block())>game->get_magic())
2745 {
2746 tile+=4; //empty block
2747 }
2748 else
2749 {
2750 tile+=4+((game->get_magic()-((container-1)*game->get_mp_per_block()))%game->get_mp_per_block());
2751 }
2752 }
2753 }
2754
2755 //tile=14161*4;
2756 171952 overtile8(dest,tile,x,y,cset,0);
2757
2758 182699 }
2759
2760 301888 void lifegauge(BITMAP *dest,int32_t x,int32_t y, int32_t container, int32_t notlast_tile, int32_t notlast_cset, bool notlast_mod, int32_t last_tile, int32_t last_cset, bool last_mod,
2761 int32_t cap_tile, int32_t cap_cset, bool cap_mod, int32_t aftercap_tile, int32_t aftercap_cset, bool aftercap_mod, int32_t frames, int32_t speed, int32_t delay, bool unique_last)
2762 {
2763 //these are here to bypass compiler warnings about unused arguments
2764 301888 frames=frames;
2765 301888 speed=speed;
2766 301888 delay=delay;
2767
2768 301888 int32_t containers=game->get_maxlife()/game->get_hp_per_heart();
2769 301888 int32_t tile=zc_oldrand()%32767, cset=zc_oldrand()%15;
2770 301888 bool mod_value=(zc_oldrand()%2)!=0;
2771
2772
2/2
✓ Branch 0 taken 21494 times.
✓ Branch 1 taken 280394 times.
301888 if(container<containers)
2773 {
2774 21494 tile=notlast_tile;
2775 21494 cset=notlast_cset;
2776 21494 mod_value=notlast_mod;
2777 21494 }
2778
2/2
✓ Branch 0 taken 10747 times.
✓ Branch 1 taken 269647 times.
280394 else if(container==containers)
2779 {
2780 10747 tile=last_tile;
2781 10747 cset=last_cset;
2782 10747 mod_value=last_mod;
2783 10747 }
2784
2/2
✓ Branch 0 taken 10747 times.
✓ Branch 1 taken 258900 times.
269647 else if(container==containers+1)
2785 {
2786 10747 tile=cap_tile;
2787 10747 cset=cap_cset;
2788 10747 mod_value=cap_mod;
2789 10747 }
2790 else //if (container>containers+1)
2791 {
2792 258900 tile=aftercap_tile;
2793 258900 cset=aftercap_cset;
2794 258900 mod_value=aftercap_mod;
2795 }
2796
2797
2/2
✓ Branch 0 taken 269647 times.
✓ Branch 1 taken 32241 times.
301888 if(mod_value)
2798 {
2799
2/2
✓ Branch 0 taken 6136 times.
✓ Branch 1 taken 26105 times.
32241 if(game->get_life()>=container*game->get_hp_per_heart())
2800 {
2801 //tile=tile; //full block
2802
2/2
✓ Branch 0 taken 4759 times.
✓ Branch 1 taken 1377 times.
6136 if(game->get_life()==container*game->get_hp_per_heart())
2803 {
2804
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1377 times.
1377 if(unique_last)
2805 {
2806 tile+=game->get_hp_per_heart()+3;
2807 }
2808 1377 }
2809 6136 }
2810 else
2811 {
2812
2/2
✓ Branch 0 taken 16735 times.
✓ Branch 1 taken 9370 times.
26105 if(((container-1)*game->get_hp_per_heart())>game->get_life())
2813 {
2814 16735 tile+=4; //empty block
2815 16735 }
2816 else
2817 {
2818 9370 tile+=4+((game->get_life()-((container-1)*game->get_hp_per_heart()))%game->get_hp_per_heart());
2819 }
2820 }
2821 32241 }
2822
2823 301888 overtile8(dest,tile,x,y,cset,0);
2824
2825 301888 }
2826
2827
2828 void magicmeter(BITMAP *dest,int32_t x,int32_t y)
2829 {
2830 if(!get_bit(quest_rules,qr_ENABLEMAGIC)) return;
2831
2832 if(game->get_maxmagic()==0) return;
2833
2834 int32_t tile;
2835 int32_t mmtile=wpnsbuf[iwMMeter].tile;
2836 int32_t mmcset=wpnsbuf[iwMMeter].csets&15;
2837 overtile8(dest,(mmtile*4)+2,x-8,y,mmcset,0);
2838
2839 if(game->get_magicdrainrate()==1)
2840 {
2841 overtile8(dest,(mmtile*4)+1,x-10,y,mmcset,0);
2842 }
2843
2844 for(int32_t i=0; i<game->get_maxmagic(); i+=game->get_mp_per_block())
2845 {
2846 if(game->get_magic()>=i+game->get_mp_per_block())
2847 {
2848 tile=mmtile*4; //full block
2849 }
2850 else
2851 {
2852 if(i>game->get_magic())
2853 {
2854 tile=((mmtile+1)*4); //empty block
2855 }
2856 else
2857 {
2858 tile=((mmtile+1)*4)+((game->get_magic()-i)%game->get_mp_per_block());
2859 }
2860 }
2861
2862 overtile8(dest,tile,x,y,mmcset,0);
2863 x+=8;
2864 }
2865
2866 overtile8(dest,(mmtile*4)+3,x,y,mmcset,0);
2867
2868 }
2869
2870 5512798 void putxnum(BITMAP *dest,int32_t x,int32_t y,int32_t num,FONT *tempfont,int32_t color,int32_t shadowcolor,int32_t bgcolor,int32_t textstyle,bool usex,int32_t digits,bool infinite,char idigit)
2871 {
2872
2/2
✓ Branch 0 taken 24870 times.
✓ Branch 1 taken 5487928 times.
5512798 if(!show_subscreen_numbers)
2873 {
2874 24870 return;
2875 }
2876
2877 5487928 int32_t found_digits=5;
2878
2879
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 5487928 times.
5487928 if(num<10000)
2880 {
2881 5487928 found_digits=4;
2882 5487928 }
2883
2884
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 5487928 times.
5487928 if(num<1000)
2885 {
2886 5487928 found_digits=3;
2887 5487928 }
2888
2889
2/2
✓ Branch 0 taken 991682 times.
✓ Branch 1 taken 4496246 times.
5487928 if(num<100)
2890 {
2891 4496246 found_digits=2;
2892 4496246 }
2893
2894
2/2
✓ Branch 0 taken 2596073 times.
✓ Branch 1 taken 2891855 times.
5487928 if(num<10)
2895 {
2896 2891855 found_digits=1;
2897 2891855 }
2898
2899
2/2
✓ Branch 0 taken 337162 times.
✓ Branch 1 taken 5150766 times.
5487928 if(infinite)
2900 {
2901 337162 textprintf_styled_aligned_ex(dest,tempfont,x,y,textstyle,sstaLEFT,color,shadowcolor,bgcolor,"%s%c",usex?"X":"",idigit);
2902 337162 }
2903 else
2904 {
2905
1/2
✓ Branch 0 taken 5150766 times.
✗ Branch 1 not taken.
5150766 textprintf_styled_aligned_ex(dest,tempfont,x,y,textstyle,sstaLEFT,color,shadowcolor,bgcolor,"%s%d",(usex && found_digits<digits)?"X":"",num);
2906 }
2907 5512798 }
2908
2909 /*
2910 INLINE void putdot(BITMAP *dest,int32_t x,int32_t y,int32_t c)
2911 {
2912 rectfill(dest,x,y,x+2,y+2,c);
2913 }
2914 */
2915
2916 /**** Subscr items code ****/
2917
2918 item *Bitem = NULL, *Aitem = NULL, *Yitem = NULL, *Xitem = NULL;
2919 int32_t Bid = 0, Aid = 0, Xid = 0, Yid = 0;
2920
2921 57 void reset_subscr_items()
2922 {
2923
2/2
✓ Branch 0 taken 9 times.
✓ Branch 1 taken 48 times.
57 if(Aitem)
2924 {
2925
1/2
✓ Branch 0 taken 48 times.
✗ Branch 1 not taken.
48 delete Aitem;
2926 48 Aitem = NULL;
2927 48 }
2928
2929
2/2
✓ Branch 0 taken 9 times.
✓ Branch 1 taken 48 times.
57 if(Bitem)
2930 {
2931
1/2
✓ Branch 0 taken 48 times.
✗ Branch 1 not taken.
48 delete Bitem;
2932 48 Bitem = NULL;
2933 48 }
2934
1/2
✓ Branch 0 taken 57 times.
✗ Branch 1 not taken.
57 if(Yitem)
2935 {
2936 delete Yitem;
2937 Yitem = NULL;
2938 }
2939
2940
1/2
✓ Branch 0 taken 57 times.
✗ Branch 1 not taken.
57 if(Xitem)
2941 {
2942 delete Xitem;
2943 Xitem = NULL;
2944 }
2945
2946 57 Aid = Bid = Yid = Xid = 0;
2947 57 }
2948
2949
2950 2404646 void update_subscr_items()
2951 {
2952
2/2
✓ Branch 0 taken 2402621 times.
✓ Branch 1 taken 2025 times.
2404646 if(Bid != Bwpn)
2953 {
2954 2025 Bid = 0;
2955
2956
2/2
✓ Branch 0 taken 55 times.
✓ Branch 1 taken 1970 times.
2025 if(Bitem)
2957 {
2958
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1970 times.
1970 delete Bitem;
2959 1970 Bitem = NULL;
2960 1970 }
2961
2962
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 2025 times.
2025 if(Bwpn > 0)
2963 {
2964
4/8
✓ Branch 0 taken 2025 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 2025 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2025 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2025 times.
✗ Branch 7 not taken.
2025 Bitem = new item((zfix)0, (zfix)0, (zfix)0, Bwpn&0x0FFF, 0, 0);
2965 2025 Bitem->dummy_bool[0]=false;
2966
2967
2/2
✓ Branch 0 taken 1771 times.
✓ Branch 1 taken 254 times.
2025 switch(itemsbuf[Bwpn&0x0FFF].family)
2968 {
2969 case itype_arrow:
2970
1/2
✓ Branch 0 taken 254 times.
✗ Branch 1 not taken.
254 if((Bwpn&0xF000)==0xF000)
2971 {
2972 Bitem->dummy_bool[0]=true;
2973 }
2974
2975 254 break;
2976 //default: break;
2977 }
2978
2979 // Bitem = new item((zfix)(zinit.subscreen<ssdtBSZELDA?124:136), (zfix)24,(zfix)0, Bwpn, 0, 0);
2980
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 2025 times.
2025 if(Bitem != NULL)
2981 {
2982 2025 Bid = Bwpn;
2983 2025 Bitem->yofs = 0;
2984 2025 Bitem->pickup |= ipDUMMY;
2985 2025 }
2986 2025 }
2987 2025 }
2988
2989
2/2
✓ Branch 0 taken 2404584 times.
✓ Branch 1 taken 62 times.
2404646 if(Aid != Awpn)
2990 {
2991 62 Aid = 0;
2992
2993
2/2
✓ Branch 0 taken 54 times.
✓ Branch 1 taken 8 times.
62 if(Aitem)
2994 {
2995
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 8 times.
8 delete Aitem;
2996 8 Aitem = NULL;
2997 8 }
2998
2999
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 62 times.
62 if(Awpn > 0)
3000 {
3001
4/8
✓ Branch 0 taken 62 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 62 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 62 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 62 times.
✗ Branch 7 not taken.
62 Aitem = new item((zfix)0, (zfix)0,(zfix)0,Awpn&0x0FFF, 0, 0);
3002
3003
1/2
✓ Branch 0 taken 62 times.
✗ Branch 1 not taken.
62 switch(itemsbuf[Awpn&0x0FFF].family)
3004 {
3005 case itype_arrow:
3006 if((Awpn&0xF000)==0xF000)
3007 {
3008 Aitem->dummy_bool[0]=true;
3009 }
3010
3011 break;
3012 //default: break;
3013 }
3014
3015
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 62 times.
62 if(Aitem != NULL)
3016 {
3017 62 Aid = Awpn;
3018 62 Aitem->yofs = 0;
3019 62 Aitem->pickup |= ipDUMMY;
3020 62 }
3021 62 }
3022 62 }
3023
3024
1/2
✓ Branch 0 taken 2404646 times.
✗ Branch 1 not taken.
2404646 if(Xid != Xwpn)
3025 {
3026 Xid = 0;
3027
3028 if(Xitem)
3029 {
3030 delete Xitem;
3031 Xitem = NULL;
3032 }
3033
3034 if(Xwpn > 0)
3035 {
3036 Xitem = new item((zfix)0, (zfix)0,(zfix)0,Xwpn&0x0FFF, 0, 0);
3037
3038 switch(itemsbuf[Xwpn&0x0FFF].family)
3039 {
3040 case itype_arrow:
3041 if((Xwpn&0xF000)==0xF000)
3042 {
3043 Xitem->dummy_bool[0]=true;
3044 }
3045
3046 break;
3047 //default: break;
3048 }
3049
3050 if(Xitem != NULL)
3051 {
3052 Xid = Xwpn;
3053 Xitem->yofs = 0;
3054 Xitem->pickup |= ipDUMMY;
3055 }
3056 }
3057 }
3058
3059
1/2
✓ Branch 0 taken 2404646 times.
✗ Branch 1 not taken.
2404646 if(Yid != Ywpn)
3060 {
3061 Yid = 0;
3062
3063 if(Yitem)
3064 {
3065 delete Yitem;
3066 Yitem = NULL;
3067 }
3068
3069 if(Ywpn > 0)
3070 {
3071 Yitem = new item((zfix)0, (zfix)0,(zfix)0,Ywpn&0x0FFF, 0, 0);
3072
3073 switch(itemsbuf[Ywpn&0x0FFF].family)
3074 {
3075 case itype_arrow:
3076 if((Ywpn&0xF000)==0xF000)
3077 {
3078 Yitem->dummy_bool[0]=true;
3079 }
3080
3081 break;
3082 //default: break;
3083 }
3084
3085 if(Yitem != NULL)
3086 {
3087 Yid = Ywpn;
3088 Yitem->yofs = 0;
3089 Yitem->pickup |= ipDUMMY;
3090 }
3091 }
3092 }
3093
3094
2/2
✓ Branch 0 taken 26680 times.
✓ Branch 1 taken 2377966 times.
2404646 if(Bitem)
3095 2377966 Bitem->animate(0);
3096
3097
2/2
✓ Branch 0 taken 26386 times.
✓ Branch 1 taken 2378260 times.
2404646 if(Aitem)
3098 2378260 Aitem->animate(0);
3099
3100
1/2
✓ Branch 0 taken 2404646 times.
✗ Branch 1 not taken.
2404646 if(Xitem)
3101 Xitem->animate(0);
3102
3103
1/2
✓ Branch 0 taken 2404646 times.
✗ Branch 1 not taken.
2404646 if(Yitem)
3104 Yitem->animate(0);
3105 2404646 }
3106
3107 147703 void add_subscr_item(item *newItem)
3108 {
3109 //al_trace("Adding a subscreen item, ID: %d\n",newItem->id); //Logging stuff to remove, later.
3110 147703 newItem->subscreenItem=true;
3111 147703 Sitems.add(newItem);
3112 147703 }
3113
3114 /****/
3115 4806720 int32_t stripspaces(char *source, char *target, int32_t stop)
3116 {
3117 int32_t begin, end;
3118
3119
4/4
✓ Branch 0 taken 2876307 times.
✓ Branch 1 taken 31566261 times.
✓ Branch 2 taken 29635848 times.
✓ Branch 3 taken 4806720 times.
34442568 for(begin=0; ((begin<stop)&&(source[begin]==' ')); ++begin)
3120 {
3121 /* do nothing */
3122 29635848 }
3123
3124
2/2
✓ Branch 0 taken 2876307 times.
✓ Branch 1 taken 1930413 times.
4806720 if(begin==stop)
3125 {
3126 2876307 return 0;
3127 }
3128
3129
2/2
✓ Branch 0 taken 4974557 times.
✓ Branch 1 taken 1930413 times.
6904970 for(end=stop-1; source[end]==' '; --end)
3130 {
3131 /* do nothing */
3132 4974557 }
3133
3134 1930413 sprintf(target, "%.*s", (end-begin+1), source+begin);
3135 1930413 return (end-begin+1);
3136 4806720 }
3137
3138 bool findWeaponWithParent(int32_t id, int32_t type)
3139 {
3140 for (int32_t q = Lwpns.Count()-1; q >= 0; --q)
3141 {
3142 weapon *ew = (weapon*)(Lwpns.spr(q));
3143 if (ew->id != type || ew->parentitem != id) continue;
3144 return true;
3145 }
3146 return false;
3147 }
3148
3149 int32_t countWeaponWithParent(int32_t id, int32_t type)
3150 {
3151 int32_t count = 0;
3152 for (int32_t q = Lwpns.Count()-1; q >= 0; --q)
3153 {
3154 weapon *ew = (weapon*)(Lwpns.spr(q));
3155 if (ew->id != type || ew->parentitem != id) continue;
3156 ++count;
3157 }
3158 return count;
3159 }
3160
3161 // The conditions on which a subcreen item should be displayed.
3162 494352 bool displaysubscreenitem(int32_t itemtype, int32_t d, int32_t id)
3163 {
3164
1/2
✓ Branch 0 taken 494352 times.
✗ Branch 1 not taken.
494352 if(game==NULL) //ZQuest
3165 return true;
3166
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 494352 times.
494352 if (get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) return true;
3167 //Okay, so the problem is that remote bombs are getting flagged with misc1 50, because
3168 //current item id is referring to your highest levelled item instead of the actual item.
3169 //Solution here is to have code for override items.
3170
2/2
✓ Branch 0 taken 1131 times.
✓ Branch 1 taken 493221 times.
494352 if (id < 0)
3171 {
3172
2/2
✓ Branch 0 taken 39000 times.
✓ Branch 1 taken 454221 times.
493221 if((itemtype == itype_bomb &&
3173 39000 !(game->get_bombs()
3174 // Remote Bombs: the bomb icon can still be used when an undetonated bomb is onscreen.
3175
3/4
✓ Branch 0 taken 1053 times.
✓ Branch 1 taken 37947 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 1053 times.
39000 || (itemsbuf[current_item_id(itype_bomb)].misc1==0 && Lwpns.idCount(wLitBomb)>0)
3176 1053 || current_item_power(itype_bombbag)))
3177
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1053 times.
✓ Branch 2 taken 7754 times.
✓ Branch 3 taken 484414 times.
493221 || (itemtype == itype_sbomb &&
3178 7754 !(game->get_sbombs()
3179
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 7754 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
7754 || (itemsbuf[current_item_id(itype_sbomb)].misc1==0 && Lwpns.idCount(wLitSBomb)>0)
3180 || (current_item_power(itype_bombbag)
3181 && itemsbuf[current_item_id(itype_bombbag)].flags & ITEM_FLAG1))))
3182 1053 return false;
3183
3184
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 492168 times.
492168 if(itemtype!=itype_bowandarrow ||
3185 d!=itype_arrow ||
3186 ((get_bit(quest_rules,qr_TRUEARROWS)&&game->get_arrows()) ||
3187 (!get_bit(quest_rules,qr_TRUEARROWS)&&game->get_rupies())))
3188 492168 return true;
3189
3190 return false;
3191 }
3192 else
3193 {
3194
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1131 times.
1131 if((itemtype == itype_bomb &&
3195 !(game->get_bombs()
3196 // Remote Bombs: the bomb icon can still be used when an undetonated bomb is onscreen.
3197 || (itemsbuf[id].misc1==0 && findWeaponWithParent(id, wLitBomb))
3198 || current_item_power(itype_bombbag)))
3199
1/4
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1131 times.
1131 || (itemtype == itype_sbomb &&
3200 !(game->get_sbombs()
3201 || (itemsbuf[id].misc1==0 && findWeaponWithParent(id, wLitSBomb))
3202 || (current_item_power(itype_bombbag)
3203 && itemsbuf[current_item_id(itype_bombbag)].flags & ITEM_FLAG1))))
3204 return false;
3205
3206
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1131 times.
1131 if(itemtype!=itype_bowandarrow ||
3207 d!=itype_arrow ||
3208 ((get_bit(quest_rules,qr_TRUEARROWS)&&game->get_arrows()) ||
3209 (!get_bit(quest_rules,qr_TRUEARROWS)&&game->get_rupies())))
3210 1131 return true;
3211
3212 return false;
3213 }
3214 494352 }
3215
3216 53381 int32_t get_subscreenitem_id(int32_t itemtype, bool forceItem)
3217 {
3218
2/4
✓ Branch 0 taken 53381 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 53381 times.
✗ Branch 3 not taken.
53381 if(forceItem && (itemtype & 0x8000))
3219 return itemtype&0xFFF;
3220 // We need to do a reverse loop to prevent the Bow from being drawn above the Arrow (Bow & Arrow).
3221 53381 int32_t overridecheck = 0xFFFF;
3222
3223
2/2
✓ Branch 0 taken 516252 times.
✓ Branch 1 taken 538 times.
516790 for(int32_t i=Sitems.Count()-1; i>=0; i--)
3224 {
3225
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 516252 times.
516252 if(itemtype & 0x8000) // if 0x8000, then itemtype is actually an item ID.
3226 {
3227 if(overridecheck==0xFFFF)
3228 {
3229 if(Sitems.spr(i)->id == (itemtype&0xFFF) && Sitems.spr(i)->misc==-1) overridecheck = i;
3230 }
3231 }
3232
2/2
✓ Branch 0 taken 4834 times.
✓ Branch 1 taken 511418 times.
516252 else if(Sitems.spr(i)->misc!=-1)
3233 {
3234 511418 int32_t d= itemsbuf[Sitems.spr(i)->id].family;
3235
3236
2/2
✓ Branch 0 taken 461379 times.
✓ Branch 1 taken 50039 times.
511418 if((d==itemtype)||
3237
6/6
✓ Branch 0 taken 31498 times.
✓ Branch 1 taken 429881 times.
✓ Branch 2 taken 235 times.
✓ Branch 3 taken 31263 times.
✓ Branch 4 taken 28694 times.
✓ Branch 5 taken 2804 times.
461379 (itemtype==itype_letterpotion&&((d==itype_letter && current_item_id(itype_potion)==-1)||d==itype_potion))||
3238
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 458575 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
458575 (itemtype==itype_bowandarrow&&(d==itype_bow||d==itype_arrow)))
3239 {
3240 52843 return Sitems.spr(i)->id;
3241 }
3242 458575 }
3243 463409 }
3244
1/2
✓ Branch 0 taken 538 times.
✗ Branch 1 not taken.
538 if(forceItem)
3245 {
3246 538 bool useLowestID = get_bit(quest_rules,qr_SUBSCR_BACKWARDS_ID_ORDER);
3247 538 int32_t id = -1;
3248
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 12912 times.
12912 for(auto q = 0; q < MAXITEMS; ++q)
3249 {
3250
2/2
✓ Branch 0 taken 12374 times.
✓ Branch 1 taken 538 times.
12912 if(itemsbuf[q].family == itemtype)
3251 {
3252 538 id = q;
3253
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 538 times.
538 if(useLowestID) break;
3254 }
3255 12374 }
3256 538 return id;
3257 }
3258
3259 //Item Override stuff here
3260 if((itemtype & 0x8000) &&
3261 (!game || game->item[itemtype&0xFFF])
3262 && !item_disabled(itemtype&0xFFF) && displaysubscreenitem(itemsbuf[itemtype&0xFFF].family, 0, (itemtype&0xFFF)))
3263 {
3264 return itemtype&0xFFF;
3265 }
3266 return -1;
3267 53381 }
3268
3269 item* get_subscreenitem(int32_t itemtype)
3270 {
3271 // We need to do a reverse loop to prevent the Bow from being drawn above the Arrow (Bow & Arrow).
3272 int32_t overridecheck = 0xFFFF;
3273
3274 for(int32_t i=Sitems.Count()-1; i>=0; i--)
3275 {
3276 if(itemtype & 0x8000) // if 0x8000, then itemtype is actually an item ID.
3277 {
3278 if(overridecheck==0xFFFF)
3279 {
3280 if(Sitems.spr(i)->id == (itemtype&0xFFF) && Sitems.spr(i)->misc==-1) overridecheck = i;
3281 }
3282 }
3283 else if(Sitems.spr(i)->misc!=-1)
3284 {
3285 int32_t d= itemsbuf[Sitems.spr(i)->id].family;
3286
3287 if((d==itemtype)||
3288 (itemtype==itype_letterpotion&&((d==itype_letter && current_item_id(itype_potion)==-1)||d==itype_potion))||
3289 (itemtype==itype_bowandarrow&&(d==itype_bow||d==itype_arrow)))
3290 {
3291 return (item*)Sitems.spr(i);
3292 }
3293 }
3294 }
3295
3296 //Item Override stuff here
3297 if((itemtype & 0x8000) &&
3298 (!game || game->item[itemtype&0xFFF])
3299 && !item_disabled(itemtype&0xFFF) && displaysubscreenitem(itemsbuf[itemtype&0xFFF].family, 0, (itemtype&0xFFF)))
3300 {
3301 if(overridecheck == 0xFFFF)
3302 {
3303 overridecheck = Sitems.Count()-1;
3304 }
3305 return (item*)Sitems.spr(overridecheck);
3306 }
3307 return NULL;
3308 }
3309
3310
3311 907618 void subscreenitem(BITMAP *dest, int32_t x, int32_t y, int32_t itemtype)
3312 {
3313 // We need to do a reverse loop to prevent the Bow from being drawn above the Arrow (Bow & Arrow).
3314 907618 int32_t overridecheck = 0xFFFF;
3315
3316
2/2
✓ Branch 0 taken 414397 times.
✓ Branch 1 taken 9269560 times.
9683957 for(int32_t i=Sitems.Count()-1; i>=0; i--)
3317 {
3318
2/2
✓ Branch 0 taken 32517 times.
✓ Branch 1 taken 9237043 times.
9269560 if(itemtype & 0x8000) // if 0x8000, then itemtype is actually an item ID.
3319 {
3320
2/2
✓ Branch 0 taken 20813 times.
✓ Branch 1 taken 11704 times.
32517 if(overridecheck==0xFFFF)
3321 {
3322 //al_trace("Found an override item at subscreen.cpp linere 3084, id: %d\n",Sitems.spr(i)->id);
3323
3324
4/4
✓ Branch 0 taken 1131 times.
✓ Branch 1 taken 10573 times.
✓ Branch 2 taken 25 times.
✓ Branch 3 taken 1106 times.
11704 if(Sitems.spr(i)->id == (itemtype&0xFFF) && Sitems.spr(i)->misc==-1) overridecheck = i;
3325 11704 }
3326 32517 }
3327
2/2
✓ Branch 0 taken 19449 times.
✓ Branch 1 taken 9217594 times.
9237043 else if(Sitems.spr(i)->misc!=-1)
3328 {
3329 9217594 int32_t d= itemsbuf[Sitems.spr(i)->id].family;
3330
3331
2/2
✓ Branch 0 taken 8748643 times.
✓ Branch 1 taken 468951 times.
9217594 if((d==itemtype)||
3332
6/6
✓ Branch 0 taken 372474 times.
✓ Branch 1 taken 8376169 times.
✓ Branch 2 taken 14314 times.
✓ Branch 3 taken 358160 times.
✓ Branch 4 taken 24270 times.
✓ Branch 5 taken 348204 times.
8748643 (itemtype==itype_letterpotion&&((d==itype_letter && current_item_id(itype_potion)==-1)||d==itype_potion))||
3333
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 8724373 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
8724373 (itemtype==itype_bowandarrow&&(d==itype_bow||d==itype_arrow)))
3334 {
3335 493221 Sitems.spr(i)->x = x;
3336 493221 Sitems.spr(i)->y = y;
3337 493221 Sitems.spr(i)->yofs=0;
3338
3339
2/2
✓ Branch 0 taken 1053 times.
✓ Branch 1 taken 492168 times.
493221 if(displaysubscreenitem(itemtype, d, -1))
3340 {
3341 492168 Sitems.spr(i)->drawzcboss(dest);
3342 492168 }
3343
3344
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 493221 times.
493221 if(itemtype!=itype_bowandarrow)
3345 {
3346 493221 return;
3347 }
3348 }
3349 8724373 }
3350 8776339 }
3351
3352 //Item Override stuff here
3353
3/4
✓ Branch 0 taken 412410 times.
✓ Branch 1 taken 1987 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 1131 times.
415528 if((itemtype & 0x8000) &&
3354
3/4
✓ Branch 0 taken 1987 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1131 times.
✓ Branch 3 taken 856 times.
1987 (get_app_id() == App::zelda ? game->item[itemtype&0xFFF] : true) &&
3355 1131 !item_disabled(itemtype&0xFFF) && displaysubscreenitem(itemsbuf[itemtype&0xFFF].family, 0, (itemtype&0xFFF)))
3356 {
3357
2/2
✓ Branch 0 taken 1106 times.
✓ Branch 1 taken 25 times.
1131 if(overridecheck == 0xFFFF)
3358 {
3359 //al_trace("Found an override item at subscreen.cpp linere 3120, itemtype: %d\n",itemtype);
3360
3361
4/8
✓ Branch 0 taken 25 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 25 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 25 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 25 times.
✗ Branch 7 not taken.
25 add_subscr_item(new item((zfix)x,(zfix)y,(zfix)0,(itemtype&0xFFF),0,0));
3362 25 overridecheck = Sitems.Count()-1;
3363 25 Sitems.spr(overridecheck)->misc = -1;
3364 25 }
3365
3366 1131 Sitems.spr(overridecheck)->x = x;
3367 1131 Sitems.spr(overridecheck)->y = y;
3368 1131 Sitems.spr(overridecheck)->yofs=0;
3369 1131 Sitems.spr(overridecheck)->drawzcboss(dest);
3370 1131 }
3371 907618 }
3372
3373 52897134 int32_t subscreen_color(miscQdata *misc, int32_t c1, int32_t c2)
3374 {
3375 int32_t ret;
3376
3377
3/3
✓ Branch 0 taken 19494186 times.
✓ Branch 1 taken 4177539 times.
✓ Branch 2 taken 29225409 times.
52897134 switch(c1)
3378 {
3379 case ssctSYSTEM:
3380
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4177539 times.
4177539 ret=(c2==-1)?c2:vc(c2);
3381 4177539 break;
3382
3383 case ssctMISC:
3384
8/17
✗ Branch 0 not taken.
✓ Branch 1 taken 11838183 times.
✓ Branch 2 taken 2518619 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 2403360 times.
✓ Branch 10 taken 2403360 times.
✓ Branch 11 taken 7577558 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 7087 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 36941 times.
✓ Branch 16 taken 2440301 times.
29225409 switch(c2)
3385 {
3386 case ssctTEXT:
3387 11838183 ret=misc->colors.text;
3388 11838183 break;
3389
3390 case ssctCAPTION:
3391 2518619 ret=misc->colors.caption;
3392 2518619 break;
3393
3394 case ssctOVERWBG:
3395 ret=misc->colors.overw_bg;
3396 break;
3397
3398 case ssctDNGNBG:
3399 ret=misc->colors.dngn_bg;
3400 break;
3401
3402 case ssctDNGNFG:
3403 ret=misc->colors.dngn_fg;
3404 break;
3405
3406 case ssctCAVEFG:
3407 ret=misc->colors.cave_fg;
3408 break;
3409
3410 case ssctBSDK:
3411 ret=misc->colors.bs_dk;
3412 break;
3413
3414 case ssctBSGOAL:
3415 ret=misc->colors.bs_goal;
3416 break;
3417
3418 case ssctCOMPASSLT:
3419 2403360 ret=misc->colors.compass_lt;
3420 2403360 break;
3421
3422 case ssctCOMPASSDK:
3423 2403360 ret=misc->colors.compass_dk;
3424 2403360 break;
3425
3426 case ssctSUBSCRBG:
3427 7577558 ret=misc->colors.subscr_bg;
3428 7577558 break;
3429
3430 case ssctSUBSCRSHADOW:
3431 ret=misc->colors.subscr_shadow;
3432 break;
3433
3434 case ssctTRIFRAMECOLOR:
3435 7087 ret=misc->colors.triframe_color;
3436 7087 break;
3437
3438 case ssctBMAPBG:
3439 ret=misc->colors.bmap_bg;
3440 break;
3441
3442 case ssctBMAPFG:
3443 36941 ret=misc->colors.bmap_fg;
3444 36941 break;
3445
3446 case ssctHERODOT:
3447 2440301 ret=misc->colors.hero_dot;
3448 2440301 break;
3449
3450 default:
3451 ret=(zc_oldrand()*1000)%256;
3452 break;
3453 }
3454
3455 29225409 break;
3456
3457 default:
3458 19494186 ret=(c1<<4)+c2;
3459 19494186 }
3460
3461 52897134 return ret;
3462 }
3463
3464
3465
3466 7808359 int32_t subscreen_cset(miscQdata *misc,int32_t c1, int32_t c2)
3467 {
3468 7808359 int32_t ret=c1;
3469
3470
2/2
✓ Branch 0 taken 2910496 times.
✓ Branch 1 taken 4897863 times.
7808359 switch(c1)
3471 {
3472 case ssctMISC:
3473
1/8
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 4897863 times.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
4897863 switch(c2)
3474 {
3475 case sscsTRIFORCECSET:
3476 ret=misc->colors.triforce_cset;
3477 break;
3478
3479 case sscsTRIFRAMECSET:
3480 ret=misc->colors.triframe_cset;
3481 break;
3482
3483 case sscsOVERWORLDMAPCSET:
3484 ret=misc->colors.overworld_map_cset;
3485 break;
3486
3487 case sscsDUNGEONMAPCSET:
3488 ret=misc->colors.dungeon_map_cset;
3489 break;
3490
3491 case sscsBLUEFRAMECSET:
3492 4897863 ret=misc->colors.blueframe_cset;
3493 4897863 break;
3494
3495 case sscsHCPIECESCSET:
3496 ret=misc->colors.HCpieces_cset;
3497 break;
3498
3499 case sscsSSVINECSET:
3500 ret=wpnsbuf[iwSubscreenVine].csets&15;
3501 break;
3502
3503 default:
3504 ret=(zc_oldrand()*1000)%256;
3505 break;
3506 }
3507
3508 4897863 break;
3509
3510 default:
3511 2910496 ret=c1;
3512 2910496 }
3513
3514 7808359 return ret;
3515 }
3516
3517 38968868 FONT *ss_font(int32_t fontnum)
3518 {
3519 FONT *tempfont;
3520
3521
67/67
✓ Branch 0 taken 34112 times.
✓ Branch 1 taken 831403 times.
✓ Branch 2 taken 34059 times.
✓ Branch 3 taken 4956263 times.
✓ Branch 4 taken 112685 times.
✓ Branch 5 taken 73692 times.
✓ Branch 6 taken 73521 times.
✓ Branch 7 taken 779331 times.
✓ Branch 8 taken 28935711 times.
✓ Branch 9 taken 45002 times.
✓ Branch 10 taken 779406 times.
✓ Branch 11 taken 779715 times.
✓ Branch 12 taken 42998 times.
✓ Branch 13 taken 63543 times.
✓ Branch 14 taken 73205 times.
✓ Branch 15 taken 73355 times.
✓ Branch 16 taken 73695 times.
✓ Branch 17 taken 73412 times.
✓ Branch 18 taken 62783 times.
✓ Branch 19 taken 62498 times.
✓ Branch 20 taken 32217 times.
✓ Branch 21 taken 32120 times.
✓ Branch 22 taken 31881 times.
✓ Branch 23 taken 32247 times.
✓ Branch 24 taken 32391 times.
✓ Branch 25 taken 23393 times.
✓ Branch 26 taken 17977 times.
✓ Branch 27 taken 17953 times.
✓ Branch 28 taken 57191 times.
✓ Branch 29 taken 27062 times.
✓ Branch 30 taken 17994 times.
✓ Branch 31 taken 18170 times.
✓ Branch 32 taken 18084 times.
✓ Branch 33 taken 18126 times.
✓ Branch 34 taken 46214 times.
✓ Branch 35 taken 46090 times.
✓ Branch 36 taken 44943 times.
✓ Branch 37 taken 40704 times.
✓ Branch 38 taken 12469 times.
✓ Branch 39 taken 12653 times.
✓ Branch 40 taken 12745 times.
✓ Branch 41 taken 12634 times.
✓ Branch 42 taken 12625 times.
✓ Branch 43 taken 12707 times.
✓ Branch 44 taken 12432 times.
✓ Branch 45 taken 12625 times.
✓ Branch 46 taken 49565 times.
✓ Branch 47 taken 12567 times.
✓ Branch 48 taken 12620 times.
✓ Branch 49 taken 48418 times.
✓ Branch 50 taken 12541 times.
✓ Branch 51 taken 12696 times.
✓ Branch 52 taken 12636 times.
✓ Branch 53 taken 12542 times.
✓ Branch 54 taken 12528 times.
✓ Branch 55 taken 20358 times.
✓ Branch 56 taken 12744 times.
✓ Branch 57 taken 12403 times.
✓ Branch 58 taken 12547 times.
✓ Branch 59 taken 20560 times.
✓ Branch 60 taken 12560 times.
✓ Branch 61 taken 12543 times.
✓ Branch 62 taken 12681 times.
✓ Branch 63 taken 12502 times.
✓ Branch 64 taken 12606 times.
✓ Branch 65 taken 12646 times.
✓ Branch 66 taken 12569 times.
38968868 switch(fontnum)
3522 {
3523 case ssfSMALL:
3524 34112 tempfont=sfont;
3525 34112 break;
3526
3527 case ssfSMALLPROP:
3528 34059 tempfont=spfont;
3529 34059 break;
3530
3531 case ssfSS1:
3532 4956263 tempfont=ssfont1;
3533 4956263 break;
3534
3535 case ssfSS2:
3536 112685 tempfont=ssfont2;
3537 112685 break;
3538
3539 case ssfSS3:
3540 73692 tempfont=ssfont3;
3541 73692 break;
3542
3543 case ssfSS4:
3544 73521 tempfont=ssfont4;
3545 73521 break;
3546
3547 case ssfZTIME:
3548 779331 tempfont=ztfont;
3549 779331 break;
3550
3551 case ssfZELDA:
3552 28935711 tempfont=zfont;
3553 28935711 break;
3554
3555 case ssfZ3:
3556 45002 tempfont=z3font;
3557 45002 break;
3558
3559 case ssfZ3SMALL:
3560 779406 tempfont=z3smallfont;
3561 779406 break;
3562
3563 case ssfGBLA:
3564 779715 tempfont=gblafont;
3565 779715 break;
3566
3567 case ssfGORON:
3568 42998 tempfont=goronfont;
3569 42998 break;
3570
3571 case ssfZORAN:
3572 63543 tempfont=zoranfont;
3573 63543 break;
3574
3575 case ssfHYLIAN1:
3576 73205 tempfont=hylian1font;
3577 73205 break;
3578
3579 case ssfHYLIAN2:
3580 73355 tempfont=hylian2font;
3581 73355 break;
3582
3583 case ssfHYLIAN3:
3584 73695 tempfont=hylian3font;
3585 73695 break;
3586
3587 case ssfHYLIAN4:
3588 73412 tempfont=hylian4font;
3589 73412 break;
3590
3591 case ssfPROP:
3592 62783 tempfont=font;
3593 62783 break;
3594
3595 case ssfGBORACLE:
3596 62498 tempfont=gboraclefont;
3597 62498 break;
3598
3599 case ssfGBORACLEP:
3600 32217 tempfont=gboraclepfont;
3601 32217 break;
3602
3603 case ssfDSPHANTOM:
3604 32120 tempfont=dsphantomfont;
3605 32120 break;
3606
3607 case ssfDSPHANTOMP:
3608 31881 tempfont=dsphantompfont;
3609 31881 break;
3610
3611 32247 case ssfAT800: tempfont=atari800font; break;
3612 32391 case ssfACORN: tempfont=acornfont;break;
3613 23393 case ssADOS: tempfont= adosfont; break;
3614 17977 case ssfALLEG: tempfont= baseallegrofont; break;
3615 17953 case ssfAPL2: tempfont= apple2font; break;
3616 57191 case ssfAPL280: tempfont= apple280colfont; break;
3617 27062 case ssfAPL2GS: tempfont= apple2gsfont; break;
3618 17994 case ssfAQUA: tempfont= aquariusfont; break;
3619 18170 case ssfAT400: tempfont= atari400font; break;
3620 18084 case ssfC64: tempfont= c64font; break;
3621 18126 case ssfC64HR: tempfont= c64hiresfont; break;
3622 46214 case ssfCGA: tempfont= cgafont; break;
3623 46090 case ssfCOCO: tempfont= cocofont; break;
3624 44943 case ssfCOCO2: tempfont= coco2font; break;
3625 40704 case ssfCOUPE: tempfont= coupefont; break;
3626 12469 case ssfCPC: tempfont= cpcfont; break;
3627 12653 case ssfFANTASY: tempfont= fantasyfont; break;
3628 12745 case ssfFDSKANA: tempfont= fdskanafont; break;
3629 12634 case ssfFDSLIKE: tempfont= fdslikefont; break;
3630 12625 case ssfFDSROM: tempfont= fdsromanfont; break;
3631 12707 case ssfFF: tempfont= finalffont; break;
3632 12432 case ssfFUTHARK: tempfont= futharkfont; break;
3633 12625 case ssfGAIA: tempfont= gaiafont; break;
3634 49565 case ssfHIRA: tempfont= hirafont; break;
3635 12567 case ssfJP: tempfont= jpfont; break;
3636 12620 case ssfKONG: tempfont= kongfont; break;
3637 48418 case ssfMANA: tempfont= manafont; break;
3638 12541 case ssfML: tempfont= mlfont; break;
3639 12696 case ssfMOT: tempfont= motfont; break;
3640 12636 case ssfMSX0: tempfont= msxmode0font; break;
3641 12542 case ssfMSX1: tempfont= msxmode1font; break;
3642 12528 case ssfPET: tempfont= petfont; break;
3643 20358 case ssfPSTART: tempfont= pstartfont; break;
3644 12744 case ssfSATURN: tempfont= saturnfont; break;
3645 12403 case ssfSCIFI: tempfont= scififont; break;
3646 12547 case ssfSHERW: tempfont= sherwoodfont; break;
3647 20560 case ssfSINQL: tempfont= sinqlfont; break;
3648 12560 case ssfSPEC: tempfont= spectrumfont; break;
3649 12543 case ssfSPECLG: tempfont= speclgfont; break;
3650 12681 case ssfTI99: tempfont= ti99font; break;
3651 12502 case ssfTRS: tempfont= trsfont; break;
3652 12606 case ssfZ2: tempfont= z2font; break;
3653 12646 case ssfZX: tempfont= zxfont; break;
3654 12569 case ssfLISA: tempfont= lisafont; break;
3655 default:
3656 831403 fontnum=zc_oldrand()%ssfMAX;
3657 831403 tempfont=ss_font(fontnum);
3658 831403 break;
3659 }
3660
3661 38968868 return tempfont;
3662 }
3663
3664
3665 int32_t to_real_font(int32_t ss_font)
3666 {
3667 switch(ss_font)
3668 {
3669 case ssfSMALL: return font_sfont;
3670 case ssfSMALLPROP: return font_spfont;
3671 case ssfSS1: return font_ssfont1;
3672 case ssfSS2: return font_ssfont2;
3673 case ssfSS3: return font_ssfont3;
3674 case ssfSS4: return font_ssfont4;
3675 case ssfZTIME: return font_ztfont;
3676 case ssfZELDA: return font_zfont;
3677 case ssfZ3: return font_z3font;
3678 case ssfZ3SMALL: return font_z3smallfont;
3679 case ssfGBLA: return font_gblafont;
3680 case ssfGORON: return font_goronfont;
3681 case ssfZORAN: return font_zoranfont;
3682 case ssfHYLIAN1: return font_hylian1font;
3683 case ssfHYLIAN2: return font_hylian2font;
3684 case ssfHYLIAN3: return font_hylian3font;
3685 case ssfHYLIAN4: return font_hylian4font;
3686 case ssfGBORACLE: return font_gboraclefont;
3687 case ssfGBORACLEP: return font_gboraclepfont;
3688 case ssfDSPHANTOM: return font_dsphantomfont;
3689 case ssfDSPHANTOMP: return font_dsphantompfont;
3690 case ssfAT800: return font_atari800font;
3691 case ssfACORN: return font_acornfont;
3692 case ssADOS: return font_adosfont;
3693 case ssfALLEG: return font_baseallegrofont;
3694 case ssfAPL2: return font_apple2font;
3695 case ssfAPL280: return font_apple280colfont;
3696 case ssfAPL2GS: return font_apple2gsfont;
3697 case ssfAQUA: return font_aquariusfont;
3698 case ssfAT400: return font_atari400font;
3699 case ssfC64: return font_c64font;
3700 case ssfC64HR: return font_c64hiresfont;
3701 case ssfCGA: return font_cgafont;
3702 case ssfCOCO: return font_cocofont;
3703 case ssfCOCO2: return font_coco2font;
3704 case ssfCOUPE: return font_coupefon;
3705 case ssfCPC: return font_cpcfon;
3706 case ssfFANTASY: return font_fantasyfon;
3707 case ssfFDSKANA: return font_fdskanafon;
3708 case ssfFDSLIKE: return font_fdslikefon;
3709 case ssfFDSROM: return font_fdsromanfon;
3710 case ssfFF: return font_finalffont;
3711 case ssfFUTHARK: return font_futharkfont;
3712 case ssfGAIA: return font_gaiafont;
3713 case ssfHIRA: return font_hirafont;
3714 case ssfJP: return font_jpfont;
3715 case ssfKONG: return font_kongfont;
3716 case ssfMANA: return font_manafont;
3717 case ssfML: return font_mlfont;
3718 case ssfMOT: return font_motfont;
3719 case ssfMSX0: return font_msxmode0font;
3720 case ssfMSX1: return font_msxmode1font;
3721 case ssfPET: return font_petfont;
3722 case ssfPSTART: return font_pstartfont;
3723 case ssfSATURN: return font_saturnfont;
3724 case ssfSCIFI: return font_scififont;
3725 case ssfSHERW: return font_sherwoodfont;
3726 case ssfSINQL: return font_sinqlfont;
3727 case ssfSPEC: return font_spectrumfont;
3728 case ssfSPECLG: return font_speclgfont;
3729 case ssfTI99: return font_ti99font;
3730 case ssfTRS: return font_trsfont;
3731 case ssfZ2: return font_z2font;
3732 case ssfZX: return font_zxfont;
3733 case ssfLISA: return font_lisafont;
3734 }
3735 return font_zfont;
3736 }
3737 int32_t to_ss_font(int32_t real_font)
3738 {
3739 switch(real_font)
3740 {
3741 case font_sfont: return ssfSMALL;
3742 case font_spfont: return ssfSMALLPROP;
3743 case font_ssfont1: return ssfSS1;
3744 case font_ssfont2: return ssfSS2;
3745 case font_ssfont3: return ssfSS3;
3746 case font_ssfont4: return ssfSS4;
3747 case font_ztfont: return ssfZTIME;
3748 case font_zfont: return ssfZELDA;
3749 case font_z3font: return ssfZ3;
3750 case font_z3smallfont: return ssfZ3SMALL;
3751 case font_gblafont: return ssfGBLA;
3752 case font_goronfont: return ssfGORON;
3753 case font_zoranfont: return ssfZORAN;
3754 case font_hylian1font: return ssfHYLIAN1;
3755 case font_hylian2font: return ssfHYLIAN2;
3756 case font_hylian3font: return ssfHYLIAN3;
3757 case font_hylian4font: return ssfHYLIAN4;
3758 case font_gboraclefont: return ssfGBORACLE;
3759 case font_gboraclepfont: return ssfGBORACLEP;
3760 case font_dsphantomfont: return ssfDSPHANTOM;
3761 case font_dsphantompfont: return ssfDSPHANTOMP;
3762 case font_atari800font: return ssfAT800;
3763 case font_acornfont: return ssfACORN;
3764 case font_adosfont: return ssADOS;
3765 case font_baseallegrofont: return ssfALLEG;
3766 case font_apple2font: return ssfAPL2;
3767 case font_apple280colfont: return ssfAPL280;
3768 case font_apple2gsfont: return ssfAPL2GS;
3769 case font_aquariusfont: return ssfAQUA;
3770 case font_atari400font: return ssfAT400;
3771 case font_c64font: return ssfC64;
3772 case font_c64hiresfont: return ssfC64HR;
3773 case font_cgafont: return ssfCGA;
3774 case font_cocofont: return ssfCOCO;
3775 case font_coco2font: return ssfCOCO2;
3776 case font_coupefon: return ssfCOUPE;
3777 case font_cpcfon: return ssfCPC;
3778 case font_fantasyfon: return ssfFANTASY;
3779 case font_fdskanafon: return ssfFDSKANA;
3780 case font_fdslikefon: return ssfFDSLIKE;
3781 case font_fdsromanfon: return ssfFDSROM;
3782 case font_finalffont: return ssfFF;
3783 case font_futharkfont: return ssfFUTHARK;
3784 case font_gaiafont: return ssfGAIA;
3785 case font_hirafont: return ssfHIRA;
3786 case font_jpfont: return ssfJP;
3787 case font_kongfont: return ssfKONG;
3788 case font_manafont: return ssfMANA;
3789 case font_mlfont: return ssfML;
3790 case font_motfont: return ssfMOT;
3791 case font_msxmode0font: return ssfMSX0;
3792 case font_msxmode1font: return ssfMSX1;
3793 case font_petfont: return ssfPET;
3794 case font_pstartfont: return ssfPSTART;
3795 case font_saturnfont: return ssfSATURN;
3796 case font_scififont: return ssfSCIFI;
3797 case font_sherwoodfont: return ssfSHERW;
3798 case font_sinqlfont: return ssfSINQL;
3799 case font_spectrumfont: return ssfSPEC;
3800 case font_speclgfont: return ssfSPECLG;
3801 case font_ti99font: return ssfTI99;
3802 case font_trsfont: return ssfTRS;
3803 case font_z2font: return ssfZ2;
3804 case font_zxfont: return ssfZX;
3805 case font_lisafont: return ssfLISA;
3806 }
3807 return ssfZELDA;
3808 }
3809
3810 item *sel_a=NULL, *sel_b=NULL;
3811
3812
3813 230 void delete_selectors()
3814 {
3815
2/2
✓ Branch 0 taken 9 times.
✓ Branch 1 taken 221 times.
230 if(sel_a)
3816 {
3817
1/2
✓ Branch 0 taken 221 times.
✗ Branch 1 not taken.
221 delete sel_a;
3818 221 sel_a=NULL;
3819 221 }
3820
3821
2/2
✓ Branch 0 taken 9 times.
✓ Branch 1 taken 221 times.
230 if(sel_b)
3822 {
3823
1/2
✓ Branch 0 taken 221 times.
✗ Branch 1 not taken.
221 delete sel_b;
3824 221 sel_b=NULL;
3825 221 }
3826 230 }
3827
3828
3829 44037 void animate_selectors()
3830 {
3831
2/2
✓ Branch 0 taken 43807 times.
✓ Branch 1 taken 230 times.
44037 if(new_sel)
3832 {
3833 230 delete_selectors();
3834 230 new_sel = false;
3835 230 }
3836
3837
2/2
✓ Branch 0 taken 43807 times.
✓ Branch 1 taken 230 times.
44037 if(!sel_a)
3838
4/8
✓ Branch 0 taken 230 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 230 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 230 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 230 times.
✗ Branch 7 not taken.
230 sel_a = new item((zfix)0, (zfix)0, (zfix)0, iSelectA, 0, 0);
3839
3840
2/2
✓ Branch 0 taken 43807 times.
✓ Branch 1 taken 230 times.
44037 if(!sel_b)
3841
4/8
✓ Branch 0 taken 230 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 230 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 230 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 230 times.
✗ Branch 7 not taken.
230 sel_b = new item((zfix)0, (zfix)0, (zfix)0, iSelectB, 0, 0);
3842
3843 44037 sel_a->yofs=0;
3844 44037 sel_a->subscreenItem=true;
3845 44037 sel_a->animate(0);
3846 44037 sel_b->yofs=0;
3847 44037 sel_b->subscreenItem=true;
3848 44037 sel_b->animate(0);
3849 44037 }
3850
3851 2447388 void show_custom_subscreen(BITMAP *dest, miscQdata *misc, subscreen_group *css, int32_t xofs, int32_t yofs, bool showtime, int32_t pos2)
3852 {
3853 //this is not a good place to be clearing the bitmap
3854 //other stuff might already have been drawn on it that needs to be kept
3855 //(eg the game screen when pulling down the subscreen) -DD
3856 //clear_to_color(dest, 0);
3857 2447388 color_map=&trans_table;
3858 2447388 set_trans_blender(0, 0, 0, 128);
3859
3860 //doing animation here leads to 2x speed when drawing both active and passive subscreen -DD
3861 /*static item sel_a((zfix)0,(zfix)0,(zfix)0,iSelectA,0,0);
3862 static item sel_b((zfix)0,(zfix)0,(zfix)0,iSelectB,0,0);
3863 if (new_sel)
3864 {
3865 sel_a=item((zfix)0,(zfix)0,(zfix)0,iSelectA,0,0);
3866 sel_b=item((zfix)0,(zfix)0,(zfix)0,iSelectB,0,0);
3867 new_sel=false;
3868 }
3869 sel_a.yofs=0;
3870 sel_a.animate(0);
3871 sel_b.yofs=0;
3872 sel_b.animate(0);*/
3873
3/4
✓ Branch 0 taken 2447379 times.
✓ Branch 1 taken 9 times.
✓ Branch 2 taken 2447379 times.
✗ Branch 3 not taken.
2447388 if(!sel_a || !sel_b)
3874 9 animate_selectors();
3875
3876
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 40693226 times.
✓ Branch 2 taken 38245838 times.
✓ Branch 3 taken 2447388 times.
40693226 for(int32_t i=0; i<MAXSUBSCREENITEMS&&css->objects[i].type>ssoNULL; ++i)
3877 {
3878
2/2
✓ Branch 0 taken 108373 times.
✓ Branch 1 taken 38137465 times.
38245838 if((css->objects[i].pos & pos2) != 0)
3879 {
3880 38137465 FONT *tempfont=zfont;
3881 38137465 int32_t fontnum=css->objects[i].d1;
3882 38137465 tempfont=ss_font(fontnum);
3883 38137465 int32_t x=css->objects[i].x+xofs;
3884 38137465 int32_t y=css->objects[i].y+yofs;
3885
3886
19/26
✓ Branch 0 taken 2392613 times.
✓ Branch 1 taken 53381 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 4919357 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 7319270 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 44028 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 2392613 times.
✓ Branch 10 taken 4795027 times.
✓ Branch 11 taken 1686483 times.
✓ Branch 12 taken 2921243 times.
✓ Branch 13 taken 2403360 times.
✓ Branch 14 taken 2403360 times.
✓ Branch 15 taken 36941 times.
✓ Branch 16 taken 2403360 times.
✓ Branch 17 taken 946915 times.
✓ Branch 18 taken 38838 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 7087 times.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✓ Branch 23 taken 2889002 times.
✓ Branch 24 taken 182699 times.
✓ Branch 25 taken 301888 times.
38137465 switch(css->objects[i].type)
3887 {
3888 case sso2X2FRAME:
3889 {
3890 //al_trace("2x2 Frame tile is: %d\n",css->objects[i].d1);
3891 //in 1.92 and earlier, the 2x2 frame object was tile 278
3892 4919357 frame2x2(dest, misc, x, y, css->objects[i].d1, subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1), css->objects[i].w, css->objects[i].h, css->objects[i].d2, css->objects[i].d3 != 0, css->objects[i].d4 != 0);
3893 //frame2x2(dest, misc, x, y, FFCore.getQuestHeaderInfo(vZelda) < 0x193 ? 278 : css->objects[i].d1, subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1), css->objects[i].w, css->objects[i].h, css->objects[i].d2, css->objects[i].d3 != 0, css->objects[i].d4 != 0);
3894 }
3895 4919357 break;
3896
3897 case ssoBSTIME:
3898 {
3899 char *ts;
3900
3901 if(game)
3902 ts = time_str_short2(game->get_time());
3903 else
3904 ts = time_str_short2(0);
3905
3906 //textout_shadowed_ex(dest,tempfont,ts,x,y,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3907 textout_styled_aligned_ex(dest,tempfont,ts,x,y,css->objects[i].d3,css->objects[i].d2,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3908 }
3909 break;
3910
3911 case ssoSSTIME:
3912 case ssoTIME:
3913 {
3914
2/4
✓ Branch 0 taken 2392613 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2392613 times.
2392613 if(showtime||css->objects[i].type==ssoTIME)
3915 {
3916 char *ts;
3917
3918 if(game)
3919 ts = time_str_med(game->get_time());
3920 else
3921 ts = time_str_med(0);
3922
3923 //textout_right_ex(dest,tempfont,ts,x,y,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2));
3924 textout_styled_aligned_ex(dest,tempfont,ts,x,y,css->objects[i].d3,css->objects[i].d2,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3925 }
3926 }
3927 2392613 break;
3928
3929 case ssoTEXT:
3930 {
3931 //textout_styled_aligned_ex(bmp, f, s, x,y,textstyle, alignment, color, shadow, bg)
3932 7319270 textout_styled_aligned_ex(dest,tempfont,(char *)css->objects[i].dp1,x,y,css->objects[i].d3,css->objects[i].d2,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3933 }
3934 7319270 break;
3935
3936 case ssoLINE:
3937 {
3938 if(css->objects[i].d4)
3939 {
3940 drawing_mode(DRAW_MODE_TRANS, NULL, 0, 0);
3941 }
3942
3943 line(dest, x, y, x+css->objects[i].w-1, y+css->objects[i].h-1, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1));
3944
3945 if(css->objects[i].d4)
3946 {
3947 drawing_mode(DRAW_MODE_SOLID, NULL, 0, 0);
3948 }
3949 }
3950 break;
3951
3952 case ssoRECT:
3953 {
3954
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 44028 times.
44028 if(css->objects[i].d2)
3955 {
3956 drawing_mode(DRAW_MODE_TRANS, NULL, 0, 0);
3957 }
3958
3959
1/2
✓ Branch 0 taken 44028 times.
✗ Branch 1 not taken.
44028 if(css->objects[i].d1!=0)
3960 {
3961 44028 rectfill(dest, x, y, x+css->objects[i].w-1, y+css->objects[i].h-1, subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2));
3962 44028 }
3963
3964 44028 rect(dest, x, y, x+css->objects[i].w-1, y+css->objects[i].h-1, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1));
3965
3966
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 44028 times.
44028 if(css->objects[i].d2)
3967 {
3968 drawing_mode(DRAW_MODE_SOLID, NULL, 0, 0);
3969 }
3970 }
3971 44028 break;
3972
3973 case ssoMAGICMETER:
3974 {
3975 magicmeter(dest, x, y);
3976 }
3977 break;
3978
3979 case ssoLIFEMETER:
3980 {
3981 //lifemeter(dest, x, y, css->objects[i].d1, css->objects[i].d2 != 0);
3982 2392613 lifemeter(dest, x, y, 1, css->objects[i].d2 != 0);
3983 }
3984 2392613 break;
3985
3986 case ssoBUTTONITEM:
3987 {
3988
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4795027 times.
4795027 if(css->objects[i].d2)
3989 {
3990 drawing_mode(DRAW_MODE_TRANS, NULL, 0, 0);
3991 }
3992 //zprint2("Button item ID is: %d\n", css->objects[i].d1);
3993 4795027 buttonitem(dest, css->objects[i].d1, x, y);
3994
3995
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4795027 times.
4795027 if(css->objects[i].d2)
3996 {
3997 drawing_mode(DRAW_MODE_SOLID, NULL, 0, 0);
3998 }
3999 }
4000 4795027 break;
4001
4002 case ssoCOUNTERS:
4003 {
4004 1686483 defaultcounters(dest, x, y, tempfont,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3),css->objects[i].d2 != 0,css->objects[i].d3,css->objects[i].d4,css->objects[i].d5);
4005 }
4006 1686483 break;
4007
4008 case ssoCOUNTER:
4009 {
4010 2921243 counter(dest, x, y, tempfont,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3),css->objects[i].d2,css->objects[i].d3,css->objects[i].d4,css->objects[i].d5,css->objects[i].d6&1, css->objects[i].d7, css->objects[i].d8, css->objects[i].d9, css->objects[i].d10, (css->objects[i].d6&2)!=0);
4011 }
4012 2921243 break;
4013
4014 case ssoMINIMAPTITLE:
4015 {
4016
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 2403360 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
2403360 if(!css->objects[i].d4 || has_item(itype_map, get_dlevel()))
4017 {
4018 2403360 minimaptitle(dest, x, y, tempfont, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3), css->objects[i].d2, css->objects[i].d3);
4019 2403360 }
4020 }
4021 2403360 break;
4022
4023 case ssoMINIMAP:
4024 {
4025 //drawdmap(dest, misc, x, y, showmap, showhero, showcompass, herocolor, lccolor, dccolor)
4026
1/2
✓ Branch 0 taken 2403360 times.
✗ Branch 1 not taken.
4806720 drawdmap(dest, misc, x, y, css->objects[i].d1 != 0, css->objects[i].d2 && !(TheMaps[(DMaps[get_currdmap()].map*MAPSCRS)+get_homescr()].flags7&fNOHEROMARK),
4027
1/2
✓ Branch 0 taken 2403360 times.
✗ Branch 1 not taken.
2403360 css->objects[i].d3 && !(DMaps[get_currdmap()].flags&dmfNOCOMPASS), subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
4028 }
4029 2403360 break;
4030
4031 case ssoLARGEMAP:
4032 {
4033 //putBmap(dest, misc, x, y, showmap, showhero, showrooms, roomcolor, herocolor, large)
4034 36941 putBmap(dest, misc, x, y, css->objects[i].d1 != 0, css->objects[i].d2!=0, css->objects[i].d3!=0, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), css->objects[i].d10 != 0);
4035 }
4036 36941 break;
4037
4038 case ssoCLEAR:
4039 {
4040 2403360 clear_to_color(dest,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1));
4041 }
4042 2403360 break;
4043
4044 case ssoCURRENTITEM:
4045 {
4046 // Shouldn't really be checking is_zquest here, but it's okay for now...
4047
3/6
✓ Branch 0 taken 39297 times.
✓ Branch 1 taken 907618 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 39297 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
946915 if(css->objects[i].d2 || (is_zquest() && (zinit.ss_flags&ssflagSHOWINVIS)!=0))
4048 {
4049
2/2
✓ Branch 0 taken 1987 times.
✓ Branch 1 taken 905631 times.
907618 subscreenitem(dest, x, y, css->objects[i].d8>0 ? ((css->objects[i].d8-1) | 0x8000) : css->objects[i].d1);
4050 907618 }
4051 }
4052 946915 break;
4053
4054 case ssoTEXTBOX:
4055 {
4056 //draw_textbox(dest, x, y, w, h, tempfont, thetext, wword, tabsize, alignment, textstyle, color, shadowcolor, backcolor)
4057 38838 draw_textbox(dest, x, y, css->objects[i].w, css->objects[i].h, tempfont, (char *)css->objects[i].dp1, css->objects[i].d4!=0, css->objects[i].d5, css->objects[i].d2, css->objects[i].d3, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
4058 //draw_textbox(dest, 0, 0, 200, 50, sfont, "This is a test", 1, 4, 0, 0, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
4059 }
4060 38838 break;
4061
4062 case ssoSELECTEDITEMNAME:
4063 {
4064 int32_t itemid=Bweapon(Bpos);
4065
4066 // If it's a combined bow and arrow, the item ID will have 0xF000 added.
4067 if(itemid>=0xF000)
4068 itemid-=0xF000;
4069
4070 // 0 can mean either the item with index 0 is selected or there's no
4071 // valid item to select, so be sure Hero has whatever it would be.
4072 if(!game->get_item(itemid))
4073 break;
4074
4075 char itemname[140]="";
4076 sprintf(itemname, "%s", item_string[itemid]);
4077 itemdata const& itm = itemsbuf[itemid];
4078 switch(itm.family)
4079 {
4080 case itype_arrow:
4081 if(Bitem && Bitem->dummy_bool[0]==true) //if we also have a bow
4082 {
4083 if(current_item_id(itype_bow)>-1)
4084 {
4085 bool hasarrows=checkmagiccost(itemid);
4086 sprintf(itemname, "%s%s%s", item_string[current_item_id(itype_bow)], hasarrows?" & ":"",hasarrows?item_string[Bitem->id]:"");
4087 }
4088 }
4089 break;
4090 case itype_bottle:
4091 if(size_t bind = game->get_bottle_slot(itemsbuf[itemid].misc1))
4092 {
4093 char const* btype_name = QMisc.bottle_types[bind-1].name;
4094 if(btype_name[0])
4095 {
4096 sprintf(itemname, "%s", btype_name);
4097 }
4098 }
4099 }
4100
4101 draw_textbox(dest, x, y, css->objects[i].w, css->objects[i].h, tempfont, itemname, css->objects[i].d4!=0, css->objects[i].d5, css->objects[i].d2, css->objects[i].d3, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
4102 // draw_textbox(dest, x, y, w, h, tempfont, thetext, wword, tabsize, alignment, textstyle, color, shadowcolor, backcolor);
4103 }
4104 break;
4105
4106 case ssoTRIFRAME:
4107 {
4108 //puttriframe(dest, misc, x, y, triframecolor, numbercolor, triframetile, triframecset, triforcetile, triforcecset, showframe, showpieces, largepieces)
4109 7087 puttriframe(dest, misc, x, y, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), css->objects[i].d1, css->objects[i].d2, css->objects[i].d3, css->objects[i].d4, css->objects[i].d5!=0, css->objects[i].d6!=0, css->objects[i].d7!=0);
4110 }
4111 7087 break;
4112
4113 case ssoTRIFORCE:
4114 {
4115 puttriforce(dest,misc,x,y,css->objects[i].d1,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].w,css->objects[i].h,css->objects[i].d2,css->objects[i].d3!=0,css->objects[i].d4!=0,css->objects[i].d5);
4116 }
4117 break;
4118
4119 case ssoTILEBLOCK:
4120 {
4121 draw_block_flip(dest,x,y,css->objects[i].d1,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].w,css->objects[i].h,css->objects[i].d2,css->objects[i].d3!=0,css->objects[i].d4!=0);
4122 }
4123 break;
4124
4125 case ssoMINITILE:
4126 {
4127 2889002 int32_t t=css->objects[i].d1;
4128
4129
1/2
✓ Branch 0 taken 2889002 times.
✗ Branch 1 not taken.
2889002 if(t==-1)
4130 {
4131 switch(css->objects[i].d2)
4132 {
4133 case ssmstSSVINETILE:
4134 t=wpnsbuf[iwSubscreenVine].tile*4;
4135 break;
4136
4137 case ssmstMAGICMETER:
4138 t=wpnsbuf[iwMMeter].tile*4;
4139 break;
4140
4141 default:
4142 t=(zc_oldrand()*100000)%32767;
4143 break;
4144 }
4145 }
4146
4147 2889002 t+=css->objects[i].d3;
4148
4149
2/2
✓ Branch 0 taken 2824520 times.
✓ Branch 1 taken 64482 times.
2889002 if(css->objects[i].d5)
4150 {
4151
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 2824520 times.
2824520 if(css->objects[i].d6)
4152 {
4153 overtiletranslucent8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4,128);
4154 }
4155 else
4156 {
4157 2824520 overtile8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4);
4158 }
4159 2824520 }
4160 else
4161 {
4162
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 64482 times.
64482 if(css->objects[i].d6)
4163 {
4164 puttiletranslucent8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4,128);
4165 }
4166 else
4167 {
4168 64482 oldputtile8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4);
4169 }
4170 }
4171 }
4172 2889002 break;
4173
4174 case ssoSELECTOR1:
4175 case ssoSELECTOR2:
4176 {
4177 53381 int32_t p=-1;
4178
4179
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1126444 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 1126444 times.
1126444 for(int32_t j=0; j<MAXSUBSCREENITEMS&&css->objects[j].type!=ssoNULL; ++j)
4180 {
4181
2/2
✓ Branch 0 taken 399031 times.
✓ Branch 1 taken 727413 times.
1126444 if(css->objects[j].type==ssoCURRENTITEM)
4182 {
4183
2/2
✓ Branch 0 taken 674032 times.
✓ Branch 1 taken 53381 times.
727413 if(css->objects[j].d3==(int32_t)Bpos)
4184 {
4185 53381 p=j;
4186 53381 break;
4187 }
4188 674032 }
4189 1073063 }
4190
4191 53381 bool big_sel=css->objects[i].d5 != 0;
4192
2/2
✓ Branch 0 taken 44028 times.
✓ Branch 1 taken 9353 times.
53381 item *tempsel=(css->objects[i].type==ssoSELECTOR1)?sel_a:sel_b;
4193 53381 int32_t temptile=tempsel->tile;
4194 53381 tempsel->drawstyle=0;
4195
4196
1/2
✓ Branch 0 taken 53381 times.
✗ Branch 1 not taken.
53381 if(css->objects[i].d4)
4197 {
4198 tempsel->drawstyle=1;
4199 }
4200
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 53381 times.
53381 int32_t itemtype = css->objects[p].d8>0 ? ((css->objects[p].d8-1) | 0x8000) : css->objects[p].d1;
4201 53381 itemdata const& tmpitm = itemsbuf[get_subscreenitem_id(itemtype, true)];
4202 53381 bool oldsel = get_bit(quest_rules, qr_SUBSCR_OLD_SELECTOR);
4203
1/2
✓ Branch 0 taken 53381 times.
✗ Branch 1 not taken.
53381 if(!oldsel) big_sel = false;
4204
2/6
✓ Branch 0 taken 53381 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 53381 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
53381 int32_t sw = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : (tempsel->extend > 2 ? tempsel->hxsz : 16),
4205
2/6
✓ Branch 0 taken 53381 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 53381 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
53381 sh = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : (tempsel->extend > 2 ? tempsel->hysz : 16),
4206
2/6
✓ Branch 0 taken 53381 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 53381 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
53381 dw = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_WIDTH) ? tmpitm.hxsz : 16),
4207
2/6
✓ Branch 0 taken 53381 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 53381 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
53381 dh = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_HEIGHT) ? tmpitm.hysz : 16);
4208
1/4
✓ Branch 0 taken 53381 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
53381 int32_t sxofs = oldsel ? 0 : (tempsel->extend > 2 ? tempsel->hxofs : 0),
4209
1/4
✓ Branch 0 taken 53381 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
53381 syofs = oldsel ? 0 : (tempsel->extend > 2 ? tempsel->hyofs : 0),
4210
2/8
✓ Branch 0 taken 53381 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 53381 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
53381 dxofs = oldsel ? (tempsel->extend > 2 ? (int)tempsel->xofs : 0) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_X_OFFSET) ? tmpitm.hxofs : 0) + (tempsel->extend > 2 ? (int)tempsel->xofs : 0),
4211
2/8
✓ Branch 0 taken 53381 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 53381 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
53381 dyofs = oldsel ? (tempsel->extend > 2 ? (int)tempsel->yofs : 0) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_Y_OFFSET) ? tmpitm.hyofs : 0) + (tempsel->extend > 2 ? (int)tempsel->yofs : 0);
4212 53381 BITMAP* tmpbmp = create_bitmap_ex(8,sw,sh);
4213
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 53381 times.
53381 for(int32_t j=0; j<4; ++j)
4214 {
4215 53381 clear_bitmap(tmpbmp);
4216
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 53381 times.
53381 if(p!=-1)
4217 {
4218 53381 tempsel->x=0;
4219 53381 tempsel->y=0;
4220
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 53381 times.
53381 int32_t tmpx = css->objects[p].x+xofs+(big_sel?(j%2?8:-8):0);
4221
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 53381 times.
53381 int32_t tmpy = css->objects[p].y+yofs+(big_sel?(j>1?8:-8):0);
4222
2/2
✓ Branch 0 taken 7754 times.
✓ Branch 1 taken 45627 times.
53381 tempsel->tile+=(zc_max(itemsbuf[tempsel->id].frames,1)*j);
4223
4224
2/2
✓ Branch 0 taken 9353 times.
✓ Branch 1 taken 44028 times.
53381 if(temptile)
4225 {
4226 44028 tempsel->drawzcboss(tmpbmp);
4227 44028 tempsel->tile=temptile;
4228 44028 }
4229 53381 masked_stretch_blit(tmpbmp, dest, vbound(sxofs, 0, sw), vbound(syofs, 0, sh), sw-vbound(sxofs, 0, sw), sh-vbound(syofs, 0, sh), tmpx+dxofs, tmpy+dyofs, dw, dh);
4230
4231
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 53381 times.
53381 if(!big_sel)
4232 {
4233 53381 break;
4234 }
4235 }
4236 }
4237 53381 destroy_bitmap(tmpbmp);
4238 }
4239 53381 break;
4240
4241 case ssoMAGICGAUGE:
4242 {
4243 // void magicgauge(BITMAP *dest,int32_t x,int32_t y, int32_t container, int32_t notlast_tile, int32_t notlast_cset, bool notlast_mod, int32_t last_tile, int32_t last_cset, bool last_mod,
4244 // int32_t cap_tile, int32_t cap_cset, bool cap_mod, int32_t aftercap_tile, int32_t aftercap_cset, bool aftercap_mod, int32_t frames, int32_t speed, int32_t delay, bool unique_last,
4245 // int32_t show)
4246 365398 magicgauge(dest,x,y, css->objects[i].d1, css->objects[i].d2, css->objects[i].colortype1, ((css->objects[i].d10&1)?1:0), css->objects[i].d3, css->objects[i].color1, ((css->objects[i].d10&2)?1:0),
4247 182699 css->objects[i].d4, css->objects[i].colortype2, ((css->objects[i].d10&4)?1:0), css->objects[i].d5, css->objects[i].color2, ((css->objects[i].d10&8)?1:0), css->objects[i].d6, css->objects[i].d7, css->objects[i].d8, ((css->objects[i].d10&16)?1:0),
4248 182699 css->objects[i].d9);
4249 }
4250 182699 break;
4251
4252 case ssoLIFEGAUGE:
4253 {
4254 603776 lifegauge(dest,x,y, css->objects[i].d1, css->objects[i].d2, css->objects[i].colortype1, ((css->objects[i].d10&1)?1:0), css->objects[i].d3, css->objects[i].color1, ((css->objects[i].d10&2)?1:0),
4255 301888 css->objects[i].d4, css->objects[i].colortype2, ((css->objects[i].d10&4)?1:0), css->objects[i].d5, css->objects[i].color2, ((css->objects[i].d10&8)?1:0), css->objects[i].d6, css->objects[i].d7, css->objects[i].d8, ((css->objects[i].d10&16)?1:0));
4256 }
4257 301888 break;
4258
4259 default:
4260 {
4261 }
4262 break;
4263 }
4264
4265 //sso_bounding_box(dest, css, i, vc(15));
4266 38137465 }
4267 38245838 }
4268 2447388 }
4269
4270
4271 4795027 void buttonitem(BITMAP *dest, int32_t button, int32_t x, int32_t y)
4272 {
4273
2/5
✗ Branch 0 not taken.
✓ Branch 1 taken 2396398 times.
✓ Branch 2 taken 2398629 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
4795027 switch(button)
4274 {
4275 case 0: //A button
4276
4/4
✓ Branch 0 taken 2370268 times.
✓ Branch 1 taken 26130 times.
✓ Branch 2 taken 9432 times.
✓ Branch 3 taken 2360836 times.
2396398 if(Aitem&&show_subscreen_items)
4277 {
4278 2360836 Aitem->x=x;
4279 2360836 Aitem->y=y;
4280
4281
1/2
✓ Branch 0 taken 2360836 times.
✗ Branch 1 not taken.
2360836 switch(itemsbuf[Aitem->id].family)
4282 {
4283 case itype_arrow:
4284 if(Aitem->dummy_bool[0]==true)
4285 {
4286 if(current_item_id(itype_bow)>-1)
4287 {
4288 subscreenitem(dest, x, y, itype_bow);
4289 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4290 if(!checkmagiccost(Aitem->id)) return;
4291 }
4292 }
4293
4294 break;
4295 }
4296
4297 2360836 Aitem->drawzcboss(dest);
4298 2360836 }
4299
4300 2396398 break;
4301
4302 case 1: //B button
4303
4/4
✓ Branch 0 taken 2372072 times.
✓ Branch 1 taken 26557 times.
✓ Branch 2 taken 9432 times.
✓ Branch 3 taken 2362640 times.
2398629 if(Bitem&&show_subscreen_items)
4304 {
4305 2362640 Bitem->x=x;
4306 2362640 Bitem->y=y;
4307
4308
2/2
✓ Branch 0 taken 2297664 times.
✓ Branch 1 taken 64976 times.
2362640 switch(itemsbuf[Bitem->id].family)
4309 {
4310 case itype_arrow:
4311
2/4
✓ Branch 0 taken 64976 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 64976 times.
✗ Branch 3 not taken.
64976 if(Bitem && Bitem->dummy_bool[0]==true)
4312 {
4313 if(current_item_id(itype_bow)>-1)
4314 {
4315 subscreenitem(dest, x, y, itype_bow);
4316 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4317 if(!checkmagiccost(Bitem->id)) return;
4318 }
4319 }
4320
4321 64976 break;
4322 }
4323
4324 2362640 Bitem->drawzcboss(dest);
4325 2362640 }
4326
4327 2398629 break;
4328
4329 case 2: //X button
4330 if(Xitem&&show_subscreen_items)
4331 {
4332 //Y button
4333 //zprint2("Drawing X Item\n");
4334 Xitem->x=x;
4335 Xitem->y=y;
4336
4337 switch(itemsbuf[Xitem->id].family)
4338 {
4339 case itype_arrow:
4340 if(Xitem && Xitem->dummy_bool[0]==true)
4341 {
4342 if(current_item_id(itype_bow)>-1)
4343 {
4344 subscreenitem(dest, x, y, itype_bow);
4345 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4346 if(!checkmagiccost(Xitem->id)) return;
4347 }
4348 }
4349
4350 break;
4351 }
4352
4353 Xitem->drawzcboss(dest);
4354 }
4355 //else zprint2("Xitem is NULL\n");
4356
4357 break;
4358
4359 case 3:
4360 if(Yitem&&show_subscreen_items)
4361 {
4362 //Y button
4363 //zprint2("Drawing Y Item\n");
4364 Yitem->x=x;
4365 Yitem->y=y;
4366
4367 switch(itemsbuf[Yitem->id].family)
4368 {
4369 case itype_arrow:
4370 if(Yitem && Yitem->dummy_bool[0]==true)
4371 {
4372 if(current_item_id(itype_bow)>-1)
4373 {
4374 subscreenitem(dest, x, y, itype_bow);
4375 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4376 if(!checkmagiccost(Yitem->id)) return;
4377 }
4378 }
4379
4380 break;
4381 }
4382
4383 Yitem->drawzcboss(dest);
4384 }
4385 //else zprint2("Yitem is NULL\n");
4386
4387 break;
4388
4389 default:
4390 break;
4391 }
4392 4795027 }
4393
4394 1686483 void defaultcounters(BITMAP *dest, int32_t x, int32_t y, FONT *tempfont, int32_t color, int32_t shadowcolor, int32_t bgcolor, bool usex, int32_t textstyle, int32_t digits, char idigit)
4395 {
4396
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1686483 times.
✓ Branch 2 taken 1230494 times.
✓ Branch 3 taken 455989 times.
1686483 int32_t yofs = (game==NULL || (game->get_sbombs() && current_item_id(itype_sbomb)>-1)) ? 8 : 0;
4397
4398 //88, 16
4399 1686483 overtile8(dest,5,x,y,1,0);
4400 1686483 overtile8(dest,8,x,y+16-yofs,1,0);
4401 1686483 overtile8(dest,9,x,y+24-yofs,0,0);
4402
4403
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1686483 times.
1686483 if(game)
4404 {
4405 1686483 bool magickey = false;
4406 1686483 int32_t itemid = current_item_id(itype_magickey);
4407
4408
2/2
✓ Branch 0 taken 1348827 times.
✓ Branch 1 taken 337656 times.
1686483 if(itemid>-1)
4409 {
4410
1/2
✓ Branch 0 taken 337656 times.
✗ Branch 1 not taken.
337656 if(itemsbuf[itemid].flags&ITEM_FLAG1)
4411 337656 magickey = itemsbuf[itemid].power>=get_dlevel();
4412 else
4413 magickey = itemsbuf[itemid].power==get_dlevel();
4414 337656 }
4415
4416 1686483 putxnum(dest,x+8,y,game->get_rupies(),tempfont,color,shadowcolor,bgcolor,textstyle,usex,digits,current_item_power(itype_wallet)>0,idigit);
4417 1686483 putxnum(dest,x+8,y+16-yofs,game->get_keys()+game->get_lkeys(),tempfont,color,shadowcolor,bgcolor, textstyle,usex,digits,magickey,idigit);
4418 1686483 putxnum(dest,x+8,y+24-yofs,game->get_bombs(),tempfont,color,shadowcolor,bgcolor,textstyle,usex,digits,current_item_power(itype_bombbag)>0,idigit);
4419 1686483 }
4420
4421
5/6
✓ Branch 0 taken 1686483 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 455989 times.
✓ Branch 3 taken 1230494 times.
✓ Branch 4 taken 453349 times.
✓ Branch 5 taken 2640 times.
1686483 if(game==NULL || (game->get_sbombs() && current_item_id(itype_sbomb)>-1))
4422 {
4423 453349 overtile8(dest,13,x,y+24,1,0);
4424
4425
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 453349 times.
453349 if(game)
4426 {
4427 453349 int32_t itemid = current_item_id(itype_bombbag);
4428
3/4
✓ Branch 0 taken 452980 times.
✓ Branch 1 taken 369 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 452980 times.
453349 bool superbomb = (itemid>=0 && itemsbuf[itemid].power>0 && itemsbuf[itemid].flags & ITEM_FLAG1);
4429
4430 453349 putxnum(dest,x+8,y+24,game->get_sbombs(),tempfont,color,shadowcolor,bgcolor,textstyle,usex,digits,superbomb,idigit);
4431 453349 }
4432 453349 }
4433 1686483 }
4434
4435 90558 bool is_counter_item(int32_t itemtype, int32_t countertype)
4436 {
4437 90558 itemdata const& itm = itemsbuf[itemtype];
4438 90558 int32_t ctr = scounter_to_ctr(countertype);
4439
1/2
✓ Branch 0 taken 90558 times.
✗ Branch 1 not taken.
90558 if(ctr == crNONE) return false;
4440
2/4
✓ Branch 0 taken 90558 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 90558 times.
90558 if(ctr == itm.cost_counter[0] ||
4441 90558 ctr == itm.cost_counter[1])
4442 return true;
4443 90558 return false;
4444 90558 }
4445
4446 // itemtype1, itemtype2, itemtype3: Only itemtype1 is used. I'm unsure who made these, who disabled the code
4447 // for them, and when each occurred. They should probably be hidden, but some very old 2.11/2.50b quests
4448 // may have used this and we'd need to edit the uest to fix it as-is, so perrhaps hide them only conditionally?
4449 // or make them flipping work?
4450 // It seems that the original intent was to be able to display a sum of multipe counters as one value. -Z (26th Jan, 2020).
4451 8441319 void counter(BITMAP *dest, int32_t x, int32_t y, FONT *tempfont, int32_t color, int32_t shadowcolor, int32_t bgcolor, int32_t alignment, int32_t textstyle, int32_t digits, char idigit, bool showzero, int32_t itemtype1, int32_t itemtype2, int32_t itemtype3, int32_t infiniteitem, bool onlyselected)
4452 {
4453 8441319 int32_t value=0;
4454 8441319 bool infinite=false;
4455 8441319 int32_t itemtypes[3]={itemtype1, itemtype2, itemtype3};
4456
4457
3/6
✓ Branch 0 taken 2921243 times.
✓ Branch 1 taken 5520076 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 2921243 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
8441319 if(game != NULL && game->get_item(infiniteitem) && !item_disabled(infiniteitem))
4458 {
4459 infinite=true;
4460 }
4461
4462 char valstring[80];
4463 char formatstring[80];
4464 8441319 sprintf(valstring,"01234567890123456789");
4465 8441319 sprintf(formatstring, "%%0%dd", digits);
4466
4467
8/16
✓ Branch 0 taken 32241 times.
✓ Branch 1 taken 8409078 times.
✓ Branch 2 taken 30186 times.
✓ Branch 3 taken 2055 times.
✓ Branch 4 taken 30186 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 30186 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 30186 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 32241 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
8441319 if(onlyselected && !(((Bitem&&(is_counter_item(Bitem->id,itemtype1)||is_counter_item(Bitem->id,itemtype2)||is_counter_item(Bitem->id,itemtype3)))||(Aitem&&(is_counter_item(Aitem->id,itemtype1)||is_counter_item(Aitem->id,itemtype2)||is_counter_item(Aitem->id,itemtype3))))))
4468 {
4469 32241 return;
4470 }
4471
4472 int32_t itemtype;
4473 /*
4474 for (int32_t i=0; i<3; ++i)
4475 {
4476 switch (i)
4477 {
4478 case 0:
4479 itemtype=itemtype1;
4480 break;
4481 case 1:
4482 itemtype=itemtype2;
4483 break;
4484 case 2:
4485 itemtype=itemtype3;
4486 break;
4487 }
4488 */
4489 8409078 itemtype=itemtype1;
4490 /* commented out until I find out what it does - it's messing up custom subscreens now as
4491 itemtype2 and 3 are zero - so hero's life gets added to the counters */
4492
4493 /*
4494 Not sure who did that, but I implemented it in its own section, ignoring counter0] for now.
4495 It will need a format change to counter lists in order to allow stacking LIFE on other counters.
4496 For the present, counter 0 for item2 and item3 is NULL. -Z (26-Jan-2020)
4497 */
4498
4499
4500
6/12
✓ Branch 0 taken 5520076 times.
✓ Branch 1 taken 727624 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 4 taken 716877 times.
✓ Branch 5 taken 716877 times.
✓ Branch 6 taken 10747 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 716877 times.
8409078 switch(itemtype)
4501 {
4502 case sscRUPEES:
4503
1/2
✓ Branch 0 taken 716877 times.
✗ Branch 1 not taken.
716877 if(current_item_power(itype_wallet))
4504 infinite=true;
4505
4506 716877 value+=game->get_rupies();
4507 716877 break;
4508
4509 case sscBOMBS:
4510
1/2
✓ Branch 0 taken 716877 times.
✗ Branch 1 not taken.
716877 if(current_item_power(itype_bombbag))
4511 infinite=true;
4512
4513 716877 value+=game->get_bombs();
4514 716877 break;
4515
4516 case sscSBOMBS:
4517 {
4518 10747 int32_t itemid = current_item_id(itype_bombbag);
4519
4520
1/6
✗ Branch 0 not taken.
✓ Branch 1 taken 10747 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
10747 if(itemid>-1 && itemsbuf[itemid].power>0 && itemsbuf[itemid].flags & ITEM_FLAG1)
4521 infinite=true;
4522
4523 10747 value+=game->get_sbombs();
4524 10747 break;
4525 }
4526
4527 case sscLIFE:
4528 {
4529 value+=game->get_life();
4530 break;
4531 }
4532 case sscMAGIC:
4533 {
4534 value+=game->get_magic();
4535 break;
4536 }
4537
4538 case sscMAXHP:
4539 {
4540 value+=game->get_maxlife();
4541 break;
4542 }
4543 case sscMAXMP:
4544 {
4545 value+=game->get_maxmagic();
4546 break;
4547 }
4548
4549 case sscARROWS:
4550
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 716877 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 716877 times.
716877 if((!get_bit(quest_rules,qr_TRUEARROWS) && current_item_power(itype_wallet)) || current_item_power(itype_quiver))
4551 infinite=true;
4552
4553 // If Hero somehow got ammunition before getting the arrow,
4554 // or if the arrow was disabled in a DMap,
4555 // we shouldn't put the value as zero.
4556 // if(/*current_item_id(itype_arrow)>-1*/ true)
4557 {
4558
1/2
✓ Branch 0 taken 716877 times.
✗ Branch 1 not taken.
716877 if(get_bit(quest_rules,qr_TRUEARROWS))
4559 {
4560 716877 value+=game->get_arrows();
4561 716877 }
4562 else
4563 {
4564 value+=game->get_rupies();
4565 }
4566 }
4567 716877 break;
4568
4569 case sscGENKEYMAGIC:
4570 case sscLEVKEYMAGIC:
4571 case sscANYKEYMAGIC:
4572 {
4573 727624 int32_t itemid = current_item_id(itype_magickey);
4574
4575
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 727624 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
727624 if(itemid>-1 && !infinite)
4576 {
4577 if(itemsbuf[itemid].flags&ITEM_FLAG1)
4578 infinite = itemsbuf[itemid].power>=get_dlevel();
4579 else
4580 infinite = itemsbuf[itemid].power==get_dlevel();
4581 }
4582 727624 }
4583
4584 //fall through
4585 case sscANYKEYNOMAGIC:
4586 case sscLEVKEYNOMAGIC:
4587 case sscGENKEYNOMAGIC:
4588
2/4
✓ Branch 0 taken 727624 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 716877 times.
1444501 if(itemtype == sscGENKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4589
3/4
✓ Branch 0 taken 727624 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 716877 times.
✓ Branch 3 taken 10747 times.
727624 || itemtype == sscGENKEYMAGIC || itemtype == sscANYKEYMAGIC)
4590 10747 value += game->get_keys();
4591
4592
2/4
✓ Branch 0 taken 727624 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 10747 times.
738371 if(itemtype == sscLEVKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4593
3/4
✓ Branch 0 taken 727624 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 10747 times.
✓ Branch 3 taken 716877 times.
727624 || itemtype == sscLEVKEYMAGIC || itemtype == sscANYKEYMAGIC)
4594 716877 value += game->get_lkeys();
4595
4596 727624 break;
4597
4598 case sscSCRIPT1:
4599 case sscSCRIPT2:
4600 case sscSCRIPT3:
4601 case sscSCRIPT4:
4602 case sscSCRIPT5:
4603 case sscSCRIPT6:
4604 case sscSCRIPT7:
4605 case sscSCRIPT8:
4606 case sscSCRIPT9:
4607 case sscSCRIPT10:
4608 case sscSCRIPT11:
4609 case sscSCRIPT12:
4610 case sscSCRIPT13:
4611 case sscSCRIPT14:
4612 case sscSCRIPT15:
4613 case sscSCRIPT16:
4614 case sscSCRIPT17:
4615 case sscSCRIPT18:
4616 case sscSCRIPT19:
4617 case sscSCRIPT20:
4618 case sscSCRIPT21:
4619 case sscSCRIPT22:
4620 case sscSCRIPT23:
4621 case sscSCRIPT24:
4622 case sscSCRIPT25:
4623 5520076 value += game->get_counter(itemtype-3);
4624 5520076 break;
4625
4626 default:
4627 break;
4628 }
4629
4630 //Re-implement item2 and item3 stacking counters. -Z 26-Jan-2020
4631
4/4
✓ Branch 0 taken 2824520 times.
✓ Branch 1 taken 5584558 times.
✓ Branch 2 taken 2760038 times.
✓ Branch 3 taken 2824520 times.
8409078 if ( /*get_bit(quest_rules,qrSTACKSUBSCREENCOUNTERS) || (*/( FFCore.getQuestHeaderInfo(vZelda) == 0x250 && FFCore.getQuestHeaderInfo(vBuild) >= 33 ) //this ishowit looks in 2.53.1, Beta 25
4632 8409078 || ( FFCore.getQuestHeaderInfo(vZelda) > 0x250 ) ) /*)*/
4633
4634 {
4635 //add item2 and item3 values to item1 values
4636
2/2
✓ Branch 0 taken 128964 times.
✓ Branch 1 taken 64482 times.
5713522 for (int32_t i=1; i<3; ++i)
4637 {
4638
4639
2/3
✗ Branch 0 not taken.
✓ Branch 1 taken 64482 times.
✓ Branch 2 taken 64482 times.
128964 switch (i)
4640 {
4641 case 1:
4642 {
4643
2/2
✓ Branch 0 taken 10747 times.
✓ Branch 1 taken 53735 times.
64482 if ( itemtypes[i] == itemtypes[i-1] )
4644 {
4645 10747 itemtype = -2;
4646 10747 break;
4647 }
4648 else
4649 {
4650 53735 itemtype=itemtype2;
4651 53735 break;
4652 }
4653 }
4654 case 2:
4655 {
4656
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 64482 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
64482 if ( ( itemtypes[i] == itemtypes[i-1] ) || ( itemtypes[i] == itemtypes[i-2] ) )
4657 {
4658 64482 itemtype = -3;
4659 64482 break;
4660 }
4661 else
4662 {
4663 itemtype=itemtype3;
4664 break;
4665 }
4666
4667 }
4668 }
4669
4670
1/11
✗ Branch 0 not taken.
✓ Branch 1 taken 128964 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
128964 switch(itemtype)
4671 {
4672 case -3:
4673 case -2:
4674 case sscLIFE:
4675 case sscRUPEES:
4676 {
4677 //do nothing if any of these three. -Z
4678 //value+=game->get_life(); Life cannot stack. It's NULL. :/
4679 128964 break;
4680 }
4681 //case sscRUPEES:
4682 //{
4683 // if(current_item_power(itype_wallet))
4684 // infinite=true;
4685 // value+=game->get_rupies();
4686 // break;
4687 //}
4688 case sscBOMBS:
4689 {
4690 if(current_item_power(itype_bombbag))
4691 infinite=true;
4692 value+=game->get_bombs();
4693 break;
4694 }
4695 case sscSBOMBS:
4696 {
4697 int32_t itemid = current_item_id(itype_bombbag);
4698 if(itemid>-1 && itemsbuf[itemid].power>0 && itemsbuf[itemid].flags & ITEM_FLAG1)
4699 infinite=true;
4700 value+=game->get_sbombs();
4701 break;
4702 }
4703 case sscMAGIC:
4704 {
4705 value+=game->get_magic();
4706 break;
4707 }
4708 case sscMAXHP:
4709 {
4710 value+=game->get_maxlife();
4711 break;
4712 }
4713 case sscMAXMP:
4714 {
4715 value+=game->get_maxmagic();
4716 break;
4717 }
4718 case sscARROWS:
4719 if((!get_bit(quest_rules,qr_TRUEARROWS) && current_item_power(itype_wallet)) || current_item_power(itype_quiver))
4720 infinite=true;
4721
4722 // If Hero somehow got ammunition before getting the arrow,
4723 // or if the arrow was disabled in a DMap,
4724 // we shouldn't put the value as zero.
4725 // if(/*current_item_id(itype_arrow)>-1*/ true)
4726 {
4727 if(get_bit(quest_rules,qr_TRUEARROWS))
4728 {
4729 value+=game->get_arrows();
4730 }
4731 else
4732 {
4733 value+=game->get_rupies();
4734 }
4735 }
4736 break;
4737
4738 case sscGENKEYMAGIC:
4739 case sscLEVKEYMAGIC:
4740 case sscANYKEYMAGIC:
4741 {
4742 int32_t itemid = current_item_id(itype_magickey);
4743 if(itemid>-1 && !infinite)
4744 {
4745 if(itemsbuf[itemid].flags&ITEM_FLAG1)
4746 {
4747 infinite = itemsbuf[itemid].power>=get_dlevel();
4748 }
4749 else
4750 {
4751 infinite = itemsbuf[itemid].power==get_dlevel();
4752 }
4753 }
4754 }
4755
4756 //fall through
4757 case sscANYKEYNOMAGIC:
4758 case sscLEVKEYNOMAGIC:
4759 case sscGENKEYNOMAGIC:
4760 if(itemtype == sscGENKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4761 || itemtype == sscGENKEYMAGIC || itemtype == sscANYKEYMAGIC)
4762 {
4763 value += game->get_keys();
4764 }
4765
4766 if(itemtype == sscLEVKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4767 || itemtype == sscLEVKEYMAGIC || itemtype == sscANYKEYMAGIC)
4768 {
4769 value += game->get_lkeys();
4770 }
4771 break;
4772
4773 case sscSCRIPT1:
4774 case sscSCRIPT2:
4775 case sscSCRIPT3:
4776 case sscSCRIPT4:
4777 case sscSCRIPT5:
4778 case sscSCRIPT6:
4779 case sscSCRIPT7:
4780 case sscSCRIPT8:
4781 case sscSCRIPT9:
4782 case sscSCRIPT10:
4783 case sscSCRIPT11:
4784 case sscSCRIPT12:
4785 case sscSCRIPT13:
4786 case sscSCRIPT14:
4787 case sscSCRIPT15:
4788 case sscSCRIPT16:
4789 case sscSCRIPT17:
4790 case sscSCRIPT18:
4791 case sscSCRIPT19:
4792 case sscSCRIPT20:
4793 case sscSCRIPT21:
4794 case sscSCRIPT22:
4795 case sscSCRIPT23:
4796 case sscSCRIPT24:
4797 case sscSCRIPT25:
4798 {
4799 value += game->get_counter(itemtype-3);
4800 break;
4801 }
4802
4803 default:
4804 {
4805 break;
4806 }
4807 }
4808
4809 128964 }
4810 64482 }
4811
4812 // (for loop) }
4813
1/6
✗ Branch 0 not taken.
✓ Branch 1 taken 2889002 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
2889002 if(!showzero&&!value&&!infinite)
4814 {
4815 return;
4816 }
4817
4818
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 2889002 times.
2889002 if(infinite)
4819 {
4820 sprintf(valstring, "%c", idigit);
4821 }
4822 else
4823 {
4824 2889002 sprintf(valstring, formatstring, value);
4825 }
4826
4827 2889002 textout_styled_aligned_ex(dest,tempfont,valstring,x,y,textstyle,alignment,color,shadowcolor,bgcolor);
4828
4829 // putxnum(dest,x+8,y,game->get_rupies(),tempfont,color,shadowcolor,bgcolor,shadowed,usex,digits,0,idigit);
4830 2921243 }
4831
4832 2403360 void minimaptitle(BITMAP *dest, int32_t x, int32_t y, FONT *tempfont, int32_t color, int32_t shadowcolor, int32_t bgcolor, int32_t alignment, int32_t textstyle)
4833 {
4834 char dmaptitlesource[2][11];
4835 char dmaptitle[2][11];
4836 2403360 sprintf(dmaptitlesource[0], "%.10s", DMaps[get_currdmap()].title);
4837 2403360 sprintf(dmaptitlesource[1], "%.10s", DMaps[get_currdmap()].title+10);
4838
4839 2403360 int32_t title_len1=stripspaces(dmaptitlesource[0], dmaptitle[0], 10);
4840 2403360 int32_t title_len2=stripspaces(dmaptitlesource[1], dmaptitle[1], 10);
4841
4842
3/4
✓ Branch 0 taken 472947 times.
✓ Branch 1 taken 1930413 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 472947 times.
2403360 if((title_len1>0)||(title_len2>0))
4843 {
4844
2/4
✓ Branch 0 taken 1930413 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1930413 times.
✗ Branch 3 not taken.
1930413 if((title_len1>0)&&(title_len2>0))
4845 {
4846 textprintf_styled_aligned_ex(dest,tempfont,x,y+8,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[1]);
4847 textprintf_styled_aligned_ex(dest,tempfont,x,y,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[0]);
4848 }
4849 else
4850 {
4851
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1930413 times.
1930413 if(title_len1>0)
4852 {
4853 1930413 textprintf_styled_aligned_ex(dest,tempfont,x,y+8,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[0]);
4854 1930413 }
4855 else
4856 {
4857 textprintf_styled_aligned_ex(dest,tempfont,x,y+8,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[1]);
4858 }
4859 }
4860 1930413 }
4861 2403360 }
4862
4863 2404589 void put_passive_subscr(BITMAP *dest,miscQdata *misc,int32_t x,int32_t y,bool showtime,int32_t pos2)
4864 {
4865 // uncomment this?
4866 // load_Sitems();
4867 2404589 Sitems.animate();
4868 2404589 update_subscr_items();
4869 2404589 BITMAP *subscr = create_sub_bitmap(dest,x,y,256,passive_subscreen_height);
4870
4871
2/2
✓ Branch 0 taken 1229 times.
✓ Branch 1 taken 2403360 times.
2404589 if(no_subscreen())
4872 {
4873 1229 clear_to_color(subscr,0);
4874 1229 destroy_bitmap(subscr);
4875 1229 return;
4876 }
4877
4878 2403360 show_custom_subscreen(subscr, misc, current_subscreen_passive, 0, 0, showtime, pos2);
4879 2403360 destroy_bitmap(subscr);
4880 2404589 }
4881
4882 /*
4883 const byte tripiece[8*3] =
4884 {
4885 112,112,0, 128,112,1, 96,128,0, 144,128,1,
4886 112,128,2, 112,128,1, 128,128,3, 128,128,0
4887 };
4888 */
4889
4890 7087 void puttriframe(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y, int32_t triframecolor, int32_t numbercolor, int32_t triframetile, int32_t triframecset, int32_t triforcetile, int32_t triforcecset, bool showframe, bool showpieces, bool largepieces)
4891 {
4892
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7087 times.
7087 if(triframetile==0)
4893 {
4894 7087 triframetile=misc->colors.triframe_tile;
4895 7087 triframecset=misc->colors.triframe_cset;
4896 7087 }
4897
4898
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7087 times.
7087 if(triforcetile==0)
4899 {
4900 7087 triforcetile=misc->colors.triforce_tile;
4901 7087 triforcecset=misc->colors.triforce_cset;
4902 7087 }
4903
4904
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7087 times.
7087 if(!largepieces)
4905 {
4906
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7087 times.
7087 if(showframe)
4907 {
4908
2/2
✓ Branch 0 taken 1301 times.
✓ Branch 1 taken 5786 times.
7087 if(triframetile)
4909 {
4910 1301 draw_block(dest,x,y,triframetile,triframecset,6,3);
4911 1301 }
4912 else
4913 {
4914 5786 line(dest,x+47,y,x+1,y+46,triframecolor);
4915 5786 line(dest,x+48,y,x+94,y+46,triframecolor);
4916 5786 _allegro_hline(dest,x,y+47,x+95,triframecolor);
4917 5786 line(dest,x+47,y+7,x+15,y+39,triframecolor);
4918 5786 line(dest,x+48,y+7,x+80,y+39,triframecolor);
4919 5786 _allegro_hline(dest,x+15,y+40,x+80,triframecolor);
4920 }
4921 7087 }
4922
4923
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7087 times.
7087 if(showpieces)
4924 {
4925
2/2
✓ Branch 0 taken 56696 times.
✓ Branch 1 taken 7087 times.
63783 for(int32_t i=0; i<8; i++)
4926 {
4927 56696 int32_t lvl = i+1;
4928
4929
4/4
✓ Branch 0 taken 10408 times.
✓ Branch 1 taken 46288 times.
✓ Branch 2 taken 5204 times.
✓ Branch 3 taken 5204 times.
56696 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
4930 5204 lvl -= 4;
4931
4932
2/2
✓ Branch 0 taken 24976 times.
✓ Branch 1 taken 31720 times.
56696 if(has_item(itype_triforcepiece, lvl))
4933 {
4934 31720 int32_t tp=0;
4935
4936
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 107506 times.
107506 for(; tp<8; tp++)
4937
2/2
✓ Branch 0 taken 75786 times.
✓ Branch 1 taken 31720 times.
107506 if(misc->triforce[tp] == i+1)
4938 31720 break;
4939
4940 31720 overtile16(dest,triforcetile,x+tripiece[0][tp][0],y+tripiece[0][tp][1],triforcecset,tripiece[0][tp][2]);
4941 31720 }
4942 56696 }
4943 7087 }
4944 7087 }
4945 else
4946 {
4947 if(showframe)
4948 {
4949 if(triframetile)
4950 {
4951 draw_block(dest,x,y,triframetile,triframecset,7,7);
4952 }
4953 else
4954 {
4955 if(!get_bit(quest_rules,qr_4TRI))
4956 {
4957 //left inside vertical
4958 _allegro_vline(dest,x+31,y+56,y+103,triframecolor);
4959 _allegro_vline(dest,x+32,y+56,y+103,triframecolor);
4960
4961 //center inside vertical top
4962 _allegro_vline(dest,x+55,y+8 ,y+55,triframecolor);
4963 _allegro_vline(dest,x+56,y+8 ,y+55,triframecolor);
4964
4965 //right inside vertical
4966 _allegro_vline(dest,x+79,y+56,y+103,triframecolor);
4967 _allegro_vline(dest,x+80,y+56,y+103,triframecolor);
4968
4969 if(!get_bit(quest_rules,qr_3TRI))
4970 {
4971 //center inside vertical bottom
4972 _allegro_vline(dest,x+55,y+56,y+103,triframecolor);
4973 _allegro_vline(dest,x+56,y+56,y+103,triframecolor);
4974 }
4975 }
4976
4977 //middle inside horizontal
4978 _allegro_hline(dest,x+32,y+55,x+79,triframecolor);
4979 _allegro_hline(dest,x+32,y+56,x+79,triframecolor);
4980
4981 //bottom outside horizontal
4982 _allegro_hline(dest,x+8,y+103,x+103,triframecolor);
4983
4984 //left outside diagonal
4985 line(dest,x+8,y+103,x+55,y+8,triframecolor);
4986 line(dest,x+9,y+102,x+55,y+9,triframecolor);
4987
4988 //right outside diagonal
4989 line(dest,x+56,y+8,x+103,y+103,triframecolor);
4990 line(dest,x+56,y+9,x+102,y+102,triframecolor);
4991
4992 //left inside diagonal
4993 line(dest,x+32,y+56,x+55,y+103,triframecolor);
4994 line(dest,x+32,y+57,x+54,y+102,triframecolor);
4995 line(dest,x+32,y+55,x+55,y+102,triframecolor);
4996
4997 //right inside diagonal
4998 line(dest,x+56,y+103,x+79,y+56,triframecolor);
4999 line(dest,x+57,y+102,x+79,y+57,triframecolor);
5000 line(dest,x+56,y+102,x+79,y+55,triframecolor);
5001
5002 for(int32_t i=0; i<8; i++)
5003 {
5004 int32_t lvl = i+1;
5005
5006 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
5007 {
5008 lvl -= 4;
5009 }
5010
5011 int32_t tp=0;
5012
5013 for(; tp<8; tp++)
5014 {
5015 if(misc->triforce[tp] == i+1)
5016 {
5017 break;
5018 }
5019 }
5020
5021 if(!has_item(itype_triforcepiece, lvl))
5022 {
5023 textprintf_ex(dest, pfont, x+tripiece[1][tp][0]+((tripiece[1][tp][2]&1)?8:14),y+tripiece[1][tp][1]+((tripiece[1][tp][2]&2)?9:32), numbercolor, -1, "%d", lvl);
5024 }
5025 }
5026 }
5027 }
5028
5029 if(showpieces)
5030 {
5031 for(int32_t i=0; i<8; i++)
5032 {
5033 int32_t lvl = i+1;
5034
5035 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
5036 {
5037 lvl -= 4;
5038 }
5039
5040 int32_t tp=0;
5041
5042 for(; tp<8; tp++)
5043 {
5044 if(misc->triforce[tp] == i+1)
5045 {
5046 break;
5047 }
5048 }
5049
5050 if(has_item(itype_triforcepiece, lvl))
5051 {
5052 draw_block_flip(dest,x+tripiece[1][tp][0]-(tripiece[1][tp][2]&1?0:8),y+tripiece[1][tp][1],triforcetile,triforcecset,2,3,tripiece[1][tp][2],1,0);
5053 }
5054 }
5055 }
5056 }
5057 7087 }
5058
5059
5060 void puttriforce(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y, int32_t tile, int32_t cset, int32_t w, int32_t h, int32_t flip, bool overlay, bool trans, int32_t trinum)
5061 {
5062 if(tile==0)
5063 {
5064 tile=misc->colors.triforce_tile;
5065 cset=misc->colors.triforce_cset;
5066 }
5067
5068 if(trinum <= 8)
5069 {
5070 for(int32_t i=0; i<8; i++)
5071 {
5072 int32_t lvl = i+1;
5073
5074 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
5075 lvl -= 4;
5076
5077 if(lvl==trinum && has_item(itype_triforcepiece, lvl))
5078 {
5079 int32_t tp=0;
5080
5081 for(; tp<8; tp++)
5082 if(misc->triforce[tp] == i+1)
5083 break;
5084
5085 draw_block_flip(dest,x,y,tile,cset,w,h,flip,overlay,trans);
5086 }
5087 }
5088 }
5089 else if(has_item(itype_triforcepiece, trinum))
5090 {
5091 draw_block_flip(dest,x,y,tile,cset,w,h,flip,overlay,trans);
5092 }
5093 }
5094
5095 /*
5096 const byte bmap[16*2] = {
5097 0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,
5098 0,3,0,0,0,3,0,0,0,0,3,0,0,0,3,0 };
5099
5100 const int32_t fringe[8] = { 6,2,4,7,6,8,7,5 };
5101
5102 const byte bmaptiles[8*5] = {
5103 0, 1, 2, 3, 2, 3, 3, 4,
5104 20,21,22,23,22,23,23,24,
5105 20,21,22,23,22,23,23,24,
5106 20,21,22,23,22,23,23,24,
5107 40,41,42,43,42,43,43,44 };
5108 */
5109
5110 void draw_block(BITMAP *dest,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h);
5111 36941 void putBmap(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y,bool showmap, bool showrooms, bool showhero, int32_t roomcolor, int32_t herocolor, bool large)
5112 {
5113 36941 int32_t si=0;
5114
5115
2/2
✓ Branch 0 taken 17259 times.
✓ Branch 1 taken 19682 times.
36941 int32_t maptile=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].largemap_2_tile:DMaps[get_currdmap()].largemap_1_tile;
5116
2/2
✓ Branch 0 taken 17259 times.
✓ Branch 1 taken 19682 times.
36941 int32_t mapcset=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].largemap_2_cset:DMaps[get_currdmap()].largemap_1_cset;
5117
5118
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 36941 times.
36941 if(showmap)
5119 {
5120
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 36941 times.
36941 if(maptile)
5121 {
5122 draw_block(dest,x,y,maptile,mapcset,large?9:7,5);
5123 }
5124
2/4
✓ Branch 0 taken 36941 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 36941 times.
36941 else if(misc->colors.dungeon_map_tile||misc->colors.dungeon_map_tile)
5125 {
5126 for(int32_t y2=0; y2<5; y2++)
5127 {
5128 for(int32_t x2=0; x2<(large?8:6); x2++)
5129 {
5130 overtile16(dest,(misc->colors.dungeon_map_tile!=0?misc->colors.dungeon_map_tile:misc->colors.dungeon_map_tile)+(large?bmaptiles_original[y2][x2]:bmaptiles_bs[y2][x2]),x+(x2<<4),y+(y2<<4),misc->colors.dungeon_map_cset,0);
5131 //++si;
5132 }
5133 }
5134 }
5135 else
5136 {
5137 36941 BITMAP *bmp = create_bitmap_ex(8,8,8);
5138
5139
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 36941 times.
36941 if(!bmp)
5140 return;
5141
5142 36941 clear_bitmap(bmp);
5143
5144
2/2
✓ Branch 0 taken 295528 times.
✓ Branch 1 taken 36941 times.
332469 for(int32_t x2=0; x2<8; x2++)
5145 {
5146
2/2
✓ Branch 0 taken 1662345 times.
✓ Branch 1 taken 295528 times.
1957873 for(int32_t y2=8-fringe[x2]; y2<8; y2++)
5147 {
5148 1662345 putpixel(bmp,x2,y2,misc->colors.bmap_bg);
5149 1662345 }
5150 295528 }
5151
5152 36941 rectfill(dest,x,y,x+(large?127:95),y+79,misc->colors.bmap_bg);
5153
5154
2/2
✓ Branch 0 taken 73882 times.
✓ Branch 1 taken 36941 times.
110823 for(int32_t y2=0; y2<2; ++y2)
5155 {
5156
2/2
✓ Branch 0 taken 1182112 times.
✓ Branch 1 taken 73882 times.
1255994 for(int32_t x2=0; x2<(large?16:12); ++x2)
5157 {
5158
3/4
✓ Branch 0 taken 1182112 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 886584 times.
✓ Branch 3 taken 295528 times.
1182112 if((large?bmap_original[y2][x2]:bmap_bs[y2][x2]))
5159 {
5160 295528 rectfill(dest,(x2<<3)+x,(y2*72)+y,(x2<<3)+x+7,(y2*72)+y+7,misc->colors.subscr_bg);
5161
5162
3/5
✓ Branch 0 taken 295528 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 147764 times.
✓ Branch 4 taken 147764 times.
295528 switch((large?bmap_original[y2][x2]:bmap_bs[y2][x2]))
5163 {
5164 case 3:
5165 147764 draw_sprite_v_flip(dest,bmp,(x2<<3)+x,(y2*72)+y);
5166 147764 break;
5167
5168 147764 case 1:
5169 default:
5170 147764 draw_sprite(dest,bmp,(x2<<3)+x,(y2*72)+y);
5171 147764 break;
5172 }
5173 295528 }
5174 1182112 }
5175 73882 }
5176
5177 36941 destroy_bitmap(bmp);
5178 }
5179 36941 }
5180
5181
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 36941 times.
36941 if(showrooms)
5182 {
5183
1/2
✓ Branch 0 taken 36941 times.
✗ Branch 1 not taken.
36941 if(roomcolor==-1)
5184 {
5185 roomcolor = misc->colors.bmap_fg;
5186 }
5187
5188 36941 si=(get_currdmap() << 7);
5189
5190
2/2
✓ Branch 0 taken 295528 times.
✓ Branch 1 taken 36941 times.
332469 for(int32_t y2=y+8; y2<y+72; y2+=8)
5191 {
5192
2/2
✓ Branch 0 taken 2222698 times.
✓ Branch 1 taken 295528 times.
2518226 while(((unsigned)((si&0xF)-DMaps[get_currdmap()].xoff))>7)
5193 2222698 ++si;
5194 295528 int32_t xoffs = DMaps[get_currdmap()].xoff;
5195
2/2
✓ Branch 0 taken 2292648 times.
✓ Branch 1 taken 295528 times.
2588176 for(int32_t x2=x+(large?32:16)+(maptile?8:0); x2<x+(large?96:80)+(maptile?8:0); x2+=8)
5196 {
5197
2/2
✓ Branch 0 taken 2256280 times.
✓ Branch 1 taken 36368 times.
2292648 if(xoffs < 0)
5198 {
5199 36368 x2 += (8*-xoffs);
5200 36368 xoffs = 0;
5201 36368 }
5202
2/2
✓ Branch 0 taken 1733274 times.
✓ Branch 1 taken 559374 times.
2292648 if(get_bmaps(si))
5203 {
5204 559374 rectfill(dest,x2+1,y2+1,x2+6,y2+6,roomcolor);
5205
5206
2/2
✓ Branch 0 taken 402324 times.
✓ Branch 1 taken 157050 times.
559374 if(get_bmaps(si)&1) _allegro_hline(dest,x2+3,y2, x2+4,roomcolor); //top door
5207
5208
2/2
✓ Branch 0 taken 344611 times.
✓ Branch 1 taken 214763 times.
559374 if(get_bmaps(si)&2) _allegro_hline(dest,x2+3,y2+7,x2+4,roomcolor); //bottom door
5209
5210
2/2
✓ Branch 0 taken 399993 times.
✓ Branch 1 taken 159381 times.
559374 if(get_bmaps(si)&4) _allegro_vline(dest,x2, y2+3,y2+4,roomcolor); //left door
5211
5212
2/2
✓ Branch 0 taken 418991 times.
✓ Branch 1 taken 140383 times.
559374 if(get_bmaps(si)&8) _allegro_vline(dest,x2+7,y2+3,y2+4,roomcolor); //right door
5213 559374 }
5214
5215 2292648 ++si;
5216 2292648 }
5217
2/2
✓ Branch 0 taken 259160 times.
✓ Branch 1 taken 36368 times.
295528 if(DMaps[get_currdmap()].xoff < 0)
5218 {
5219 36368 si -= DMaps[get_currdmap()].xoff;
5220 36368 }
5221 295528 }
5222 36941 }
5223
5224
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 36941 times.
36941 if(showhero)
5225 {
5226
2/2
✓ Branch 0 taken 1409 times.
✓ Branch 1 taken 35532 times.
36941 if(get_currscr()<MAPSCRSNORMAL)
5227 {
5228
1/2
✓ Branch 0 taken 35532 times.
✗ Branch 1 not taken.
35532 if(herocolor==-1)
5229 {
5230 herocolor=misc->colors.hero_dot;
5231 }
5232
5233
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 35532 times.
35532 int32_t xoff = (((DMaps[get_currdmap()].type&dmfTYPE)==dmOVERW) ? 0 : DMaps[get_currdmap()].xoff);
5234 35532 putdot(dest,(((get_homescr()&15)-xoff)<<3)+x+(large?34:18)+(maptile?8:0),((get_homescr()&0xF0)>>1)+y+11,herocolor);
5235 35532 }
5236 36941 }
5237 36941 }
5238
5239
5240 10949 void load_Sitems(miscQdata *misc)
5241 {
5242 10949 Sitems.clear();
5243
5244 // HC Pieces
5245
2/2
✓ Branch 0 taken 5671 times.
✓ Branch 1 taken 5278 times.
10949 if(misc->colors.HCpieces_tile)
5246 {
5247 // item *HCP = new item((zfix)(inventory_x[5]-ofs),(zfix)y,iMax,0,0);
5248
4/8
✓ Branch 0 taken 5278 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 5278 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 5278 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 5278 times.
✗ Branch 7 not taken.
5278 item *HCP = new item((zfix)0,(zfix)0,(zfix)0,iHCPiece,0,0);
5249
5250
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 5278 times.
5278 if(HCP)
5251 {
5252 5278 int32_t hcpphc = game->get_hcp_per_hc();
5253
2/2
✓ Branch 0 taken 5243 times.
✓ Branch 1 taken 35 times.
5278 HCP->tile = misc->colors.HCpieces_tile + vbound(game->get_HCpieces(),0,hcpphc > 0 ? hcpphc-1 : 0);
5254 5278 HCP->o_tile = HCP->tile;
5255 5278 HCP->cs = misc->colors.HCpieces_cset;
5256 5278 HCP->frames = 0;
5257 5278 add_subscr_item(HCP);
5258 5278 }
5259 5278 }
5260
5261
2/2
✓ Branch 0 taken 7457 times.
✓ Branch 1 taken 3492 times.
10949 if(has_item(itype_map, get_dlevel()))
5262 {
5263
4/8
✓ Branch 0 taken 3492 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3492 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3492 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 3492 times.
✗ Branch 7 not taken.
3492 add_subscr_item(new item((zfix)0,(zfix)0,(zfix)0,iMap,0,0));
5264 3492 }
5265
5266
2/2
✓ Branch 0 taken 7001 times.
✓ Branch 1 taken 3948 times.
10949 if(has_item(itype_compass, get_dlevel()))
5267 {
5268
4/8
✓ Branch 0 taken 3948 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3948 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3948 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 3948 times.
✗ Branch 7 not taken.
3948 add_subscr_item(new item((zfix)0,(zfix)0,(zfix)0,iCompass,0,0));
5269 3948 }
5270
5271
2/2
✓ Branch 0 taken 8987 times.
✓ Branch 1 taken 1962 times.
10949 if(has_item(itype_bosskey, get_dlevel()))
5272 {
5273
4/8
✓ Branch 0 taken 1962 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1962 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1962 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1962 times.
✗ Branch 7 not taken.
1962 add_subscr_item(new item((zfix)0,(zfix)0,(zfix)0,iBossKey,0,0));
5274 1962 }
5275
5276
2/2
✓ Branch 0 taken 10949 times.
✓ Branch 1 taken 5605888 times.
5616837 for(int32_t i=0; i<itype_max; i++)
5277 {
5278 //special case: ignore the dmap-specific items processed above. -DD
5279
6/6
✓ Branch 0 taken 5594939 times.
✓ Branch 1 taken 10949 times.
✓ Branch 2 taken 5583990 times.
✓ Branch 3 taken 10949 times.
✓ Branch 4 taken 10949 times.
✓ Branch 5 taken 5573041 times.
5605888 if(i == itype_map || i == itype_compass || i == itype_bosskey)
5280 32847 continue;
5281
5282 // Display the ring even if it has run out of magic.
5283
2/2
✓ Branch 0 taken 5438329 times.
✓ Branch 1 taken 134712 times.
5573041 if(current_item_id(i,false)>-1)
5284 {
5285 134712 int32_t j = current_item_id(i,false);
5286 //al_trace("About to check itemsbuf[j].tile in subscreen.cpp, line 4634, loop[%d]\n",j);
5287
2/2
✓ Branch 0 taken 1714 times.
✓ Branch 1 taken 132998 times.
134712 if(itemsbuf[j].tile)
5288
4/8
✓ Branch 0 taken 132998 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 132998 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 132998 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 132998 times.
✗ Branch 7 not taken.
132998 add_subscr_item(new item((zfix)0, (zfix)0,(zfix)0,j,0,0));
5289 134712 }
5290 5573041 }
5291 //al_trace("Finished load_Sitems(%d)\n",0);
5292
5293 10949 new_sel=true;
5294 10949 }
5295
5296 7517 void update_subscreens(int32_t dmap)
5297 {
5298
2/2
✓ Branch 0 taken 7307 times.
✓ Branch 1 taken 210 times.
7517 if(dmap<0)
5299 7307 dmap=get_currdmap();
5300
5301 7517 int32_t index=DMaps[dmap].active_subscreen;
5302
5303 7517 int32_t i=-1, j=0;
5304
5305
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 20072 times.
✓ Branch 2 taken 12555 times.
✓ Branch 3 taken 7517 times.
20072 while(custom_subscreen[j].objects[0].type!=ssoNULL&&i!=index)
5306 {
5307
2/2
✓ Branch 0 taken 12481 times.
✓ Branch 1 taken 74 times.
12555 if(custom_subscreen[j].ss_type==sstACTIVE)
5308 {
5309 12481 ++i;
5310 12481 }
5311
5312 12555 ++j;
5313 }
5314
5315 7517 current_subscreen_active=&custom_subscreen[j-1];
5316
5317 7517 index=DMaps[dmap].passive_subscreen;
5318
5319 7517 i=-1, j=0;
5320
5321
4/4
✓ Branch 0 taken 7470 times.
✓ Branch 1 taken 30216 times.
✓ Branch 2 taken 30169 times.
✓ Branch 3 taken 7517 times.
37686 while(custom_subscreen[j].objects[0].type!=ssoNULL&&i!=index)
5322 {
5323
2/2
✓ Branch 0 taken 15108 times.
✓ Branch 1 taken 15061 times.
30169 if(custom_subscreen[j].ss_type==sstPASSIVE)
5324 {
5325 15061 ++i;
5326 15061 }
5327
5328 30169 ++j;
5329 }
5330
5331 7517 current_subscreen_passive=&custom_subscreen[j-1];
5332 7517 }
5333
5334 36 int32_t ss_objects(subscreen_group *tempss)
5335 {
5336 36 int32_t i=0;
5337
5338
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1557 times.
✓ Branch 2 taken 1521 times.
✓ Branch 3 taken 36 times.
1557 while(i<MAXSUBSCREENITEMS&&tempss->objects[i].type!=ssoNULL)
5339 {
5340 1521 ++i;
5341 }
5342
5343 36 return i;
5344 }
5345
5346
5347 36 void purge_blank_subscreen_objects(subscreen_group *tempss)
5348 {
5349 36 int32_t objects=ss_objects(tempss);
5350 subscreen_object tempsso;
5351
5352 //filter all the ssoNONE items to the end (yeah, bubble sort; sue me)
5353
2/2
✓ Branch 0 taken 1485 times.
✓ Branch 1 taken 36 times.
1521 for(int32_t j=0; j<objects-1; j++)
5354 {
5355
2/2
✓ Branch 0 taken 40689 times.
✓ Branch 1 taken 1485 times.
42174 for(int32_t k=0; k<objects-1-j; k++)
5356 {
5357
2/2
✓ Branch 0 taken 19308 times.
✓ Branch 1 taken 21381 times.
40689 if(tempss->objects[k].type==ssoNONE)
5358 {
5359 21381 tempsso=tempss->objects[k];
5360 21381 tempss->objects[k]=tempss->objects[k+1];
5361 21381 tempss->objects[k+1]=tempsso;
5362 21381 }
5363 40689 }
5364 1485 }
5365
5366 //NULL out the ssoNONE items
5367
2/2
✓ Branch 0 taken 1521 times.
✓ Branch 1 taken 36 times.
1557 for(int32_t j=0; j<objects; j++)
5368 {
5369
2/2
✓ Branch 0 taken 826 times.
✓ Branch 1 taken 695 times.
1521 if(tempss->objects[j].type==ssoNONE)
5370 {
5371 695 tempss->objects[j].type=ssoNULL;
5372 695 }
5373 1521 }
5374 36 }
5375
5376
5377
5378 int32_t get_alignment(subscreen_object *tempsso)
5379 {
5380 switch(tempsso->type)
5381 {
5382 case ssoTEXT:
5383 return tempsso->d2;
5384 break;
5385
5386 case ssoBSTIME:
5387 return sstaLEFT;
5388 break;
5389
5390 case ssoTIME:
5391 return sstaRIGHT;
5392 break;
5393
5394 case ssoSSTIME:
5395 return sstaRIGHT;
5396 break;
5397
5398 case ssoCOUNTER:
5399 return tempsso->d2;
5400 break;
5401
5402 case ssoMINIMAPTITLE:
5403 return tempsso->d2;
5404 break;
5405
5406 case ssoCURRENTITEMTEXT:
5407 case ssoCURRENTITEMNAME:
5408 case ssoSELECTEDITEMNAME:
5409 case ssoCURRENTITEMCLASSTEXT:
5410 case ssoCURRENTITEMCLASSNAME:
5411 case ssoSELECTEDITEMCLASSNAME:
5412 return sstaLEFT;
5413 break;
5414
5415 case ssoNONE:
5416 case sso2X2FRAME:
5417 case ssoLINE:
5418 case ssoRECT:
5419 case ssoMAGICMETER:
5420 case ssoLIFEMETER:
5421 case ssoBUTTONITEM:
5422 case ssoICON:
5423 case ssoCOUNTERS:
5424 case ssoMINIMAP:
5425 case ssoLARGEMAP:
5426 case ssoCLEAR:
5427 case ssoCURRENTITEM:
5428 case ssoITEM:
5429 case ssoTRIFRAME:
5430 case ssoTRIFORCE:
5431 case ssoTILEBLOCK:
5432 case ssoMINITILE:
5433 case ssoSELECTOR1:
5434 case ssoSELECTOR2:
5435 case ssoMAGICGAUGE:
5436 case ssoLIFEGAUGE:
5437 case ssoTEXTBOX:
5438 case ssoCURRENTITEMTILE:
5439 case ssoSELECTEDITEMTILE:
5440 default:
5441 return sstaLEFT;
5442 break;
5443 }
5444
5445 // return false;//UNREACHABLE
5446 }
5447
5448 //enum { sstsNORMAL, sstsSHADOW, sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWED, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX, sstsMAX };
5449 // "None", "Shadow", "Shadow (U)","Shadow (O)", "Shadow (+)", "Shadow (X)", "Shadowed", "Shadowed (U)","Shadowed (O)","Shadowed (+)", "Shadowed (X)"
5450 //x-1
5451 //sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5452 //w+1
5453 //sstsSHADOW, sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWED, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5454 //y-1
5455 //sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5456 //h+1
5457 //sstsSHADOW, sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWED, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5458
5459 int32_t sso_y(subscreen_object *tempsso)
5460 {
5461 int32_t y=0;
5462
5463 switch(tempsso->type)
5464 {
5465 case ssoLIFEMETER:
5466 y=tempsso->y+(tempsso->d2?0:(tempsso->d3?8:16));
5467 break;
5468
5469 case ssoNONE:
5470 case sso2X2FRAME:
5471 case ssoTEXT:
5472 case ssoLINE:
5473 case ssoRECT:
5474 case ssoBSTIME:
5475 case ssoTIME:
5476 case ssoSSTIME:
5477 case ssoMAGICMETER:
5478 case ssoBUTTONITEM:
5479 case ssoICON:
5480 case ssoCOUNTER:
5481 case ssoCOUNTERS:
5482 case ssoMINIMAPTITLE:
5483 case ssoMINIMAP:
5484 case ssoLARGEMAP:
5485 case ssoCLEAR:
5486 case ssoCURRENTITEM:
5487 case ssoITEM:
5488 case ssoTRIFRAME:
5489 case ssoTRIFORCE:
5490 case ssoTILEBLOCK:
5491 case ssoMINITILE:
5492 case ssoSELECTOR1:
5493 case ssoSELECTOR2:
5494 case ssoMAGICGAUGE:
5495 case ssoLIFEGAUGE:
5496 case ssoTEXTBOX:
5497 case ssoCURRENTITEMTILE:
5498 case ssoSELECTEDITEMTILE:
5499 case ssoCURRENTITEMTEXT:
5500 case ssoCURRENTITEMNAME:
5501 case ssoSELECTEDITEMNAME:
5502 case ssoCURRENTITEMCLASSTEXT:
5503 case ssoCURRENTITEMCLASSNAME:
5504 case ssoSELECTEDITEMCLASSNAME:
5505 y=tempsso->y;
5506 break;
5507
5508 default:
5509 y=(zc_oldrand()*1000)%64;
5510 break;
5511 }
5512
5513 switch(tempsso->type)
5514 {
5515 case ssoTEXT:
5516 case ssoBSTIME:
5517 case ssoTIME:
5518 case ssoSSTIME:
5519 case ssoCOUNTER:
5520 case ssoCOUNTERS:
5521 switch(tempsso->d3)
5522 {
5523 case sstsOUTLINE8:
5524 case sstsOUTLINEPLUS:
5525 case sstsOUTLINEX:
5526 case sstsOUTLINED8:
5527 case sstsOUTLINEDPLUS:
5528 case sstsOUTLINEDX:
5529 y-=1;
5530 break;
5531 }
5532
5533 break;
5534 }
5535
5536 return y;
5537 }
5538
5539 int32_t sso_x(subscreen_object *tempsso)
5540 {
5541 int32_t x=0;
5542
5543 switch(tempsso->type)
5544 {
5545 case ssoMAGICMETER:
5546 x=tempsso->x-10;
5547 break;
5548
5549 case ssoNONE:
5550 case sso2X2FRAME:
5551 case ssoTEXT:
5552 case ssoLINE:
5553 case ssoRECT:
5554 case ssoBSTIME:
5555 case ssoTIME:
5556 case ssoSSTIME:
5557 case ssoLIFEMETER:
5558 case ssoBUTTONITEM:
5559 case ssoICON:
5560 case ssoCOUNTER:
5561 case ssoCOUNTERS:
5562 case ssoMINIMAPTITLE:
5563 case ssoMINIMAP:
5564 case ssoLARGEMAP:
5565 case ssoCLEAR:
5566 case ssoCURRENTITEM:
5567 case ssoITEM:
5568 case ssoTRIFRAME:
5569 case ssoTRIFORCE:
5570 case ssoTILEBLOCK:
5571 case ssoMINITILE:
5572 case ssoSELECTOR1:
5573 case ssoSELECTOR2:
5574 case ssoMAGICGAUGE:
5575 case ssoLIFEGAUGE:
5576 case ssoTEXTBOX:
5577 case ssoCURRENTITEMTILE:
5578 case ssoSELECTEDITEMTILE:
5579 case ssoCURRENTITEMTEXT:
5580 case ssoCURRENTITEMNAME:
5581 case ssoSELECTEDITEMNAME:
5582 case ssoCURRENTITEMCLASSTEXT:
5583 case ssoCURRENTITEMCLASSNAME:
5584 case ssoSELECTEDITEMCLASSNAME:
5585 x=tempsso->x;
5586 break;
5587
5588 default:
5589 x=(zc_oldrand()*1000)%64;
5590 break;
5591 }
5592
5593 switch(tempsso->type)
5594 {
5595 case ssoTEXT:
5596 case ssoBSTIME:
5597 case ssoTIME:
5598 case ssoSSTIME:
5599 case ssoCOUNTER:
5600 case ssoCOUNTERS:
5601 switch(tempsso->d3)
5602 {
5603 case sstsSHADOWU:
5604 case sstsOUTLINE8:
5605 case sstsOUTLINEPLUS:
5606 case sstsOUTLINEX:
5607 case sstsSHADOWEDU:
5608 case sstsOUTLINED8:
5609 case sstsOUTLINEDPLUS:
5610 case sstsOUTLINEDX:
5611 x-=1;
5612 break;
5613 }
5614
5615 break;
5616 }
5617
5618 return x;
5619 }
5620
5621
5622
5623 int32_t sso_h(subscreen_object *tempsso)
5624 {
5625 int32_t h=0;
5626
5627 switch(tempsso->type)
5628 {
5629 case ssoNONE:
5630 h=5;
5631 break;
5632
5633 case sso2X2FRAME:
5634 h=tempsso->h*8;
5635 break;
5636
5637 case ssoTEXT:
5638 h=text_height(ss_font(tempsso->d1));
5639 break;
5640
5641 case ssoLINE:
5642 h=tempsso->h;
5643 break;
5644
5645 case ssoRECT:
5646 h=tempsso->h;
5647 break;
5648
5649 case ssoBSTIME:
5650 h=text_height(ss_font(tempsso->d1));
5651 break;
5652
5653 case ssoTIME:
5654 h=text_height(ss_font(tempsso->d1));
5655 break;
5656
5657 case ssoSSTIME:
5658 h=text_height(ss_font(tempsso->d1));
5659 break;
5660
5661 case ssoMAGICMETER:
5662 h=8;
5663 break;
5664
5665 case ssoLIFEMETER:
5666 h=tempsso->d3?24:16;
5667 break;
5668
5669 case ssoBUTTONITEM:
5670 h=16;
5671 break;
5672
5673 case ssoICON:
5674 h=8;
5675 break;
5676
5677 case ssoCOUNTER:
5678 h=text_height(ss_font(tempsso->d1));
5679 break;
5680
5681 case ssoCOUNTERS:
5682 h=32;
5683 break;
5684
5685 case ssoMINIMAPTITLE:
5686 h=16;
5687 break;
5688
5689 case ssoMINIMAP:
5690 h=48;
5691 break;
5692
5693 case ssoLARGEMAP:
5694 h=80;
5695 break;
5696
5697 case ssoCLEAR:
5698 h=5;
5699 break;
5700
5701 case ssoCURRENTITEM:
5702 h=16;
5703 break;
5704
5705 case ssoITEM:
5706 h=16;
5707 break;
5708
5709 case ssoTRIFRAME:
5710 h=16*((tempsso->d7)?7:3);
5711 break;
5712
5713 case ssoTRIFORCE:
5714 h=16;
5715 break;
5716
5717 case ssoTILEBLOCK:
5718 h=16*(tempsso->h);
5719 break;
5720
5721 case ssoMINITILE:
5722 h=8;
5723 break;
5724
5725 case ssoSELECTOR1:
5726 case ssoSELECTOR2:
5727 h=tempsso->d5?32:16;
5728 break;
5729
5730 case ssoMAGICGAUGE:
5731 h=8;
5732 break;
5733
5734 case ssoLIFEGAUGE:
5735 h=8;
5736 break;
5737
5738 case ssoTEXTBOX:
5739 h=tempsso->h;
5740 break;
5741
5742 case ssoCURRENTITEMTILE:
5743 h=16;
5744 break;
5745
5746 case ssoSELECTEDITEMTILE:
5747 h=16;
5748 break;
5749
5750 case ssoCURRENTITEMTEXT:
5751 h=16;
5752 break;
5753
5754 case ssoCURRENTITEMNAME:
5755 h=tempsso->h;
5756 break;
5757
5758 case ssoSELECTEDITEMNAME:
5759 h=tempsso->h;
5760 break;
5761
5762 case ssoCURRENTITEMCLASSTEXT:
5763 h=tempsso->h;
5764 break;
5765
5766 case ssoCURRENTITEMCLASSNAME:
5767 h=tempsso->h;
5768 break;
5769
5770 case ssoSELECTEDITEMCLASSNAME:
5771 h=tempsso->h;
5772 break;
5773
5774 default:
5775 h=(zc_oldrand()*1000)%64;
5776 break;
5777 }
5778
5779 switch(tempsso->type)
5780 {
5781 case ssoTEXT:
5782 case ssoBSTIME:
5783 case ssoTIME:
5784 case ssoSSTIME:
5785 case ssoCOUNTER:
5786 case ssoCOUNTERS:
5787 switch(tempsso->d3)
5788 {
5789 case sstsSHADOW:
5790 case sstsSHADOWU:
5791 case sstsOUTLINE8:
5792 case sstsOUTLINEPLUS:
5793 case sstsOUTLINEX:
5794 case sstsSHADOWED:
5795 case sstsSHADOWEDU:
5796 case sstsOUTLINED8:
5797 case sstsOUTLINEDPLUS:
5798 case sstsOUTLINEDX:
5799 h+=1;
5800 break;
5801 }
5802
5803 break;
5804 }
5805
5806 return h;
5807 }
5808
5809 int32_t sso_w(subscreen_object *tempsso)
5810 {
5811 int32_t w=0;
5812
5813 switch(tempsso->type)
5814 {
5815 case ssoNONE:
5816 w=5;
5817 break;
5818
5819 case sso2X2FRAME:
5820 w=tempsso->w*8;
5821 break;
5822
5823 case ssoTEXT:
5824 w=text_length(ss_font(tempsso->d1), (char *)tempsso->dp1);
5825 break;
5826
5827 case ssoLINE:
5828 w=tempsso->w;
5829 break;
5830
5831 case ssoRECT:
5832 w=tempsso->w;
5833 break;
5834
5835 case ssoBSTIME:
5836 w=text_length(ss_font(tempsso->d1), time_str_short2(game->get_time()));
5837 break;
5838
5839 case ssoTIME:
5840 w=text_length(ss_font(tempsso->d1), time_str_med(game->get_time()));
5841 break;
5842
5843 case ssoSSTIME:
5844 w=text_length(ss_font(tempsso->d1), time_str_med(game->get_time()));
5845 break;
5846
5847 case ssoMAGICMETER:
5848 w=82;
5849 break;
5850
5851 case ssoLIFEMETER:
5852 w=64;
5853 break;
5854
5855 case ssoBUTTONITEM:
5856 w=16;
5857 break;
5858
5859 case ssoICON:
5860 w=8;
5861 break;
5862
5863 case ssoCOUNTER:
5864 w=text_length(ss_font(tempsso->d1), "0")*tempsso->d4;
5865 break;
5866
5867 case ssoCOUNTERS:
5868 w=32;
5869 break;
5870
5871 case ssoMINIMAPTITLE:
5872 w=80;
5873 break;
5874
5875 case ssoMINIMAP:
5876 w=80;
5877 break;
5878
5879 case ssoLARGEMAP:
5880 w=16*((tempsso->d4)?9:7);
5881 break;
5882
5883 case ssoCLEAR:
5884 w=5;
5885 break;
5886
5887 case ssoCURRENTITEM:
5888 w=16;
5889 break;
5890
5891 case ssoITEM:
5892 w=16;
5893 break;
5894
5895 case ssoTRIFRAME:
5896 w=16*((tempsso->d7)?7:6);
5897 break;
5898
5899 case ssoTRIFORCE:
5900 w=16;
5901 break;
5902
5903 case ssoTILEBLOCK:
5904 w=16*(tempsso->w);
5905 break;
5906
5907 case ssoMINITILE:
5908 w=8;
5909 break;
5910
5911 case ssoSELECTOR1:
5912 case ssoSELECTOR2:
5913 w=tempsso->d5?32:16;
5914 break;
5915
5916 case ssoMAGICGAUGE:
5917 w=8;
5918 break;
5919
5920 case ssoLIFEGAUGE:
5921 w=8;
5922 break;
5923
5924 case ssoTEXTBOX:
5925 w=tempsso->w;
5926 break;
5927
5928 case ssoCURRENTITEMTILE:
5929 w=16;
5930 break;
5931
5932 case ssoSELECTEDITEMTILE:
5933 w=16;
5934 break;
5935
5936 case ssoCURRENTITEMTEXT:
5937 w=16;
5938 break;
5939
5940 case ssoCURRENTITEMNAME:
5941 w=tempsso->w;
5942 break;
5943
5944 case ssoSELECTEDITEMNAME:
5945 w=tempsso->w;
5946 break;
5947
5948 case ssoCURRENTITEMCLASSTEXT:
5949 w=tempsso->w;
5950 break;
5951
5952 case ssoCURRENTITEMCLASSNAME:
5953 w=tempsso->w;
5954 break;
5955
5956 case ssoSELECTEDITEMCLASSNAME:
5957 w=tempsso->w;
5958 break;
5959
5960 default:
5961 w=(zc_oldrand()*1000)%64;
5962 break;
5963 }
5964
5965 switch(tempsso->type)
5966 {
5967 case ssoTEXT:
5968 case ssoBSTIME:
5969 case ssoTIME:
5970 case ssoSSTIME:
5971 case ssoCOUNTER:
5972 case ssoCOUNTERS:
5973 switch(tempsso->d3)
5974 {
5975 case sstsSHADOW:
5976 case sstsSHADOWU:
5977 case sstsOUTLINE8:
5978 case sstsOUTLINEPLUS:
5979 case sstsOUTLINEX:
5980 case sstsSHADOWED:
5981 case sstsSHADOWEDU:
5982 case sstsOUTLINED8:
5983 case sstsOUTLINEDPLUS:
5984 case sstsOUTLINEDX:
5985 w+=1;
5986 break;
5987 }
5988
5989 break;
5990 }
5991
5992 return w;
5993 }
5994
5995 void sso_bounding_box(BITMAP *bmp, subscreen_group *tempss, int32_t index, int32_t color)
5996 {
5997 if(index<0)
5998 {
5999 return;
6000 }
6001
6002 int32_t x=sso_x(&tempss->objects[index]);
6003 int32_t y=sso_y(&tempss->objects[index]);
6004 int32_t w=sso_w(&tempss->objects[index]);
6005 int32_t h=sso_h(&tempss->objects[index]);
6006
6007 switch(get_alignment(&tempss->objects[index]))
6008 {
6009 case sstaCENTER:
6010 x-=(w/2);
6011 break;
6012
6013 case sstaRIGHT:
6014 x-=w;
6015 break;
6016
6017 case sstaLEFT:
6018 default:
6019 break;
6020 }
6021
6022 int32_t c=x+w/2;
6023 int32_t m=y+h/2;
6024 bool normalrect=true;
6025
6026 if(color==-1)
6027 {
6028 color=jwin_pal[jcTITLER];
6029 }
6030 else if(color==-2)
6031 {
6032 color=jwin_pal[jcTITLEL];
6033 }
6034
6035 //draw a bounding box around the current object
6036 if(normalrect)
6037 {
6038 rect(bmp, x, y, x+w-1, y+h-1, color);
6039 }
6040 else
6041 {
6042 rect(bmp, x-1, y-1, x+1, y+1, color);
6043 rect(bmp, x-1, y+h-2, x+1, y+h, color);
6044 rect(bmp, x+w-2, y-1, x+w, y+1, color);
6045 rect(bmp, x+w-2, y+h-2, x+w, y+h, color);
6046
6047 if(w>=9)
6048 {
6049 rect(bmp, c-1, y-1, c+1, y+1, color);
6050 rect(bmp, c-1, y+h-2, c+1, y+h, color);
6051 _allegro_hline(bmp, x+2, y, c-2, color);
6052 _allegro_hline(bmp, c+2, y, x+w-3, color);
6053 _allegro_hline(bmp, x+2, y+h-1, c-2, color);
6054 _allegro_hline(bmp, c+2, y+h-1, x+w-3, color);
6055 }
6056 else
6057 {
6058 _allegro_hline(bmp, x+2, y, x+w-3, color);
6059 _allegro_hline(bmp, x+2, y+h-1, x+w-3, color);
6060 }
6061
6062 if(h>=9)
6063 {
6064 rect(bmp, x-1, m-1, x+1, m+1, color);
6065 rect(bmp, x+w-2, m-1, x+w, m+1, color);
6066 _allegro_vline(bmp, x, y+2, m-2, color);
6067 _allegro_vline(bmp, x, m+2, y+h-3, color);
6068 _allegro_vline(bmp, x+w-1, y+2, m-2, color);
6069 _allegro_vline(bmp, x+w-1, m+2, y+h-3, color);
6070 }
6071 else
6072 {
6073 _allegro_vline(bmp, x, y+2, y+h-3, color);
6074 _allegro_vline(bmp, x+w-1, y+2, y+h-3, color);
6075 }
6076 }
6077 }
6078
6079
6080 90558 int32_t scounter_to_ctr(int32_t ssc)
6081 {
6082
4/33
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✓ Branch 2 taken 60372 times.
✓ Branch 3 taken 10062 times.
✓ Branch 4 taken 10062 times.
✓ Branch 5 taken 10062 times.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✗ Branch 30 not taken.
✗ Branch 31 not taken.
✗ Branch 32 not taken.
90558 switch(ssc)
6083 {
6084 60372 case sscRUPEES: return crMONEY;
6085 10062 case sscBOMBS: return crBOMBS;
6086 10062 case sscSBOMBS: return crSBOMBS;
6087 10062 case sscARROWS: return crARROWS;
6088 case sscSCRIPT1: return crCUSTOM1;
6089 case sscSCRIPT2: return crCUSTOM2;
6090 case sscSCRIPT3: return crCUSTOM3;
6091 case sscSCRIPT4: return crCUSTOM4;
6092 case sscSCRIPT5: return crCUSTOM5;
6093 case sscSCRIPT6: return crCUSTOM6;
6094 case sscSCRIPT7: return crCUSTOM7;
6095 case sscSCRIPT8: return crCUSTOM8;
6096 case sscSCRIPT9: return crCUSTOM9;
6097 case sscSCRIPT10: return crCUSTOM10;
6098 case sscSCRIPT11: return crCUSTOM11;
6099 case sscSCRIPT12: return crCUSTOM12;
6100 case sscSCRIPT13: return crCUSTOM13;
6101 case sscSCRIPT14: return crCUSTOM14;
6102 case sscSCRIPT15: return crCUSTOM15;
6103 case sscSCRIPT16: return crCUSTOM16;
6104 case sscSCRIPT17: return crCUSTOM17;
6105 case sscSCRIPT18: return crCUSTOM18;
6106 case sscSCRIPT19: return crCUSTOM19;
6107 case sscSCRIPT20: return crCUSTOM20;
6108 case sscSCRIPT21: return crCUSTOM21;
6109 case sscSCRIPT22: return crCUSTOM22;
6110 case sscSCRIPT23: return crCUSTOM23;
6111 case sscSCRIPT24: return crCUSTOM24;
6112 case sscSCRIPT25: return crCUSTOM25;
6113 case sscLIFE: return crLIFE;
6114 case sscMAGIC: return crMAGIC;
6115 case sscGENKEYMAGIC: case sscGENKEYNOMAGIC:
6116 case sscANYKEYMAGIC: case sscANYKEYNOMAGIC:
6117 return crKEYS;
6118 }
6119 return crNONE;
6120 90558 }
6121
6122 /*** end of subscr.cc ***/
6123
6124